イベント クラスのインデックスの定義
各イベント クラスに適切なインデックスを作成すると、Notification Services アプリケーションのパフォーマンスが大幅に向上します。インデックスにより、指定したフィールドのデータに基づくレコードの検索が高速化されるため、アプリケーション全体のパフォーマンスを向上できます。
Notification Services では、システム定義フィールドの EventID と EventBatchID に自動的にインデックスが作成されます。
カスタム インデックス
インデックス作成ステートメントを記述することによって、イベント クラスにカスタム インデックスを追加できます。次の例は、StockEvents イベント クラスの StockSymbol フィールドにインデックスを作成するための Transact-SQL 構文を示しています。
CREATE INDEX StockIndex
ON appSchema.StockEvents (StockSymbol);
イベント クラスのインデックスはアプリケーション スキーマに作成することに注意してください。イベント クラス名、アプリケーション スキーマ名、およびフィールド名さえわかればインデックスを作成できます。
Notification Services は、アプリケーションを作成するときにイベント クラスのテーブルとビューを作成し、それからカスタム インデックスを追加します。
メモ : |
---|
Notification Services は、イベント クラスを表すビューにカスタム インデックスを追加します。このビューには、イベント クラス テーブルから現在のイベント バッチのみが含まれます。テーブル全体ではなくイベント クラス ビューに対してルールを実行することにより、パフォーマンスを向上させ、通知の重複を防止できます。 |
アプリケーションを更新すると、イベント クラスに変更がある場合、Notification Services は、イベント クラスのテーブル、ビュー、および関連付けられたインデックスを削除して再作成します。
SQL Server のインデックスの詳細については、「インデックス」を参照してください。
イベント クラスのカスタム インデックスを定義するには
XML でアプリケーションを定義している場合は、アプリケーション定義ファイル (ADF) でカスタム インデックスを定義します。プログラムでアプリケーションを定義している場合は、Notification Services 管理オブジェクト (NMO) を使用してカスタム インデックスを定義します。
参照
概念
アプリケーション データベースの定義
コア イベント クラス プロパティの定義
イベント クラスの記録の定義