このタスクについて
DB2 に最適化のヒントを提供すると、次の場合に役立ちます。- 再バインド間、およびリリース・マイグレーション間で、応答時間の整合性を保証したい場合があります。プランまたはパッケージが再バインドされると、アクセス・パスは再構築されます。データベースまたはアプリケーションが変更された場合、あるいは DB2 が新規の機能を持ったために別のアクセス・プランを選択する場合、新規プランのパフォーマンスが古いアクセス・プランに及ばないのであれば、古い方を使用するのが有利と判断するかもしれません。
- DB2 が選択したアクセス・プランを、一時的にバイパスしたい場合があります。
最適化のヒントには、以下に示す 3 つの異なるタイプのヒントがあります。
- PLAN_TABLE ヒント
- このタイプのヒントは、特定の単一許可 ID によって発行される SQL ステートメントに特定のアクセス・パスを強制しようとします。その同じ許可 ID によって所有されている PLAN_TABLE インスタンス内の行を使用して、OPTHINT バインド・オプションまたは CURRENT OPTIMIZATION HINT 特殊レジスターに指定された値に基づいてヒントを適用します。
- ステートメント・レベルのアクセス・パス・ヒント (DB2 10 for z/OS NFM のみ)
- このタイプのヒントは、DB2 が指定の PLAN_TABLE 行を使用して、適合する SQL ステートメントのためのアクセス・パスの決定を試行するように指定します。
また、指定された範囲の適合ステートメントのみに適用されるアクセス・パス・ヒントを作成することもできます。
- 最適化パラメーター・ヒント (DB2 10 for z/OS NFM のみ)
- このタイプのヒントは、DB2 が特定の最適化パラメーター (以下のサブシステム・パラメーターとオプションなど) を使用して、ヒントに適合したステートメントをすべて処理するよう指定します。
- REOPT バインド・オプション
- STARJOIN サブシステム・パラメーター
- PARAMDEG サブシステム・パラメーター (MAX_PAR_DEGREE 列)
- CDSSRDEF サブシステム・パラメーター (DEF_CURR_DEGREE 列)
- SJTABLES サブシステム・パラメーター
最適化パラメーターを指定していて、指定範囲の適合ステートメントのみを適用範囲とするヒントも作成できます。
一度に複数のタイプのヒントをデプロイすることはできません。
しかし、単一 SQL ステートメントに対し、順次、複数の異なるタイプのヒントをデプロイすることができます。
最適化のヒントの共存を参照してください。
ヒント: 状況に合ったヒントのタイプを判別しにくい場合は、3 つのタイプすべてをエディターで定義し、それらを一度に 1 つずつデプロイしてテストすることができます。