サブスクリプション クラスのインデックスの定義
Notification Services アプリケーションのパフォーマンスは、適切なインデックスを作成し、指定フィールドのデータに基づいてレコードが高速に検索されるようにすることで、大幅に向上させることができます。SQL Server では、インデックスは必要に応じて自動的に使用されます。
定期的なルールが設定されているサブスクリプション クラスの場合、Notification Services は自動的に ScheduleId 列にインデックスを作成します。
カスタム インデックス
インデックス作成ステートメントを記述することによって、サブスクリプション クラスにカスタム インデックスを追加できます。次の例は、WeatherSubscriptions テーブルの City 列にインデックスを作成する Transact-SQL 構文を示しています。
CREATE INDEX CityIndex
ON dbo.WeatherSubscriptions (City);
サブスクリプション テーブルには、サブスクリプション クラスと同じ名前が付いていることに注意してください。サブスクリプション クラス名とフィールド名さえわかればインデックスを作成できます。
また、各オブジェクト名の前にスキーマ名 (この例では dbo) が付いています。複数のアプリケーションで 1 つのデータベースを共有する可能性があるため、スキーマ名を指定することをお勧めします。アプリケーション データベースを定義するときにスキーマ名を指定する場合は、アプリケーション スキーマ名を使用します。既定のアプリケーション スキーマは dbo です。詳細については、「アプリケーション データベースの定義」を参照してください。
Notification Services は、アプリケーションを作成するときにサブスクリプション クラスのテーブルを作成し、それからカスタム インデックスを追加します。アプリケーションの更新時にサブスクリプション クラスに何らかの変更が発生している場合、Notification Services はサブスクリプション テーブルの名前を変更して、末尾に "Old" が付いた名前にします。テーブルの名前が変わっても、インデックスとの関連付けは維持されます。詳細については、「アプリケーションの更新」を参照してください。
SQL Server のインデックスの詳細については、「インデックス」を参照してください。
サブスクリプション クラスのカスタム インデックスを定義するには
XML でアプリケーションを定義している場合は、アプリケーション定義ファイル (ADF) でカスタム インデックスを定義します。プログラムでアプリケーションを定義している場合は、Notification Services 管理オブジェクト (NMO) を使用してカスタム インデックスを定義します。
参照
その他の技術情報
CREATE INDEX (Transact-SQL)
インデックス
サブスクリプション クラスの定義
Notification Services アプリケーションの定義