以下の例は、システム フィルタが役立つ場合を示しています。
問題 | リクエストをフィルタで除外する理由 |
---|---|
リクエストが制約のないプロダクト ジョインを使用して大規模で詳細なテーブルにアクセスしようとしています。 | 大規模なテーブルに対する結合制約のないリクエストが不適切に記述されており、リソースを過剰に使用しています。DBAは、このようなリクエストをアボートする必要があります。リクエストを実行前に拒否することで、完了することのないリクエストによってリソースが浪費されないようにします。 |
リクエストで、呼び出し詳細データや詳細履歴データなど、非常に大規模で詳細なデータ テーブルに対してフル テーブル スキャンを使用しています(インデックス付きアクセスを使用するリクエストは、引き続き実行を許可されることになります)。 | 非常に大規模なテーブルに対するフル テーブル スキャンは他のユーザーに多大な影響を及ぼす可能性があり、処理がピークとなる時間帯には特に問題となります。一部のユーザーについてはこのようなアクセスが適切である場合には、DBAは、これらのユーザーを除外するフィルタを作成できます。通常の昼間の時間帯にのみこのタイプのフィルタをアクティブにすると、バッチ レポートや保守ジョブを営業時間外に問題なく実行できます。 |
保守操作のため、すべてのユーザーがシステムからログオフする必要があります。ただし、進行中のリクエストは完了するまで実行できます。 | 新しいリクエストが実行されないようにする必要があります。保守作業が完了した後、DBAはフィルタを無効にすることができます。 |
上記の例は、すべてのリクエストが候補となるシステム全体のフィルタを示しています。ただし、ワークロード レベルでフィルタをシミュレーションすることもできます。例えば、CriticalFocus状態の間にWD-Bに実行依頼されるすべてのクエリーを拒否する場合は、“Reject”オプションを使用してワークロード スロットルを設定します。