統計フィードバック収集の制御

Db2 は、SQL 最適化ツールで使用するために、欠落または競合する統計に関するデータを特定のカタログおよび EXPLAIN 表に収集します。

このタスクについて

プログラム固有のプログラミングインターフェース情報の開始。

Db2 がSQL文のアクセスパスを選択する際、収集されれば効率的なアクセスパスの選択の可能性を高める可能性がある、不足しているか、または矛盾する統計値を特定します。 Db2 この統計フィードバックデータを、お客様が指定する間隔までメモリに保持し、その後、 カタログテーブルにデータを収集します。 SYSIBM.SYSSTATFEEDBACK SQL ステートメントのアクセス・パス情報を EXPLAIN 表にキャプチャーするために特定のメソッドを使用する場合、Db2は、DSN_STAT_FEEDBACK テーブルが存在する場合は、それらの情報を収集します。

統計フィードバック・データは、アクセス・パス選択プロセスを使用する EXPLAIN 操作でのみ収集されます。 例えば、PACKAGE オプションまたは STMTCACHE オプションを使用して EXPLAIN ステートメントを発行する場合、統計データは収集されません。 この場合、Db2は、アクセス・パス選択プロセスを使用する代わりに、以前に選択したアクセス・パス情報を抽出します。

特定の SQL 最適化ツールは、このデータを使用して SQL ステートメントのアクセス・パスの選択を改善することができます。

推奨された統計を RUNSTATS ユーティリティーで収集すると、SYSIBM.SYSSTATFEEDBACK カタログ表からその推奨に関する行が削除されます。

ヒント :この作業に役立つ高度なクエリ調整機能は、 IBM® Db2 Query Workload Tuner for z/OS® および IBM Db2 Administration Foundation for z/OS でご利用いただけます。

プロシージャー

統計フィードバック・データの収集を制御するには、次の方法を使用します。

  • STATFDBK_SCOPE サブシステム・パラメーターの値を設定します。
    この値は、Db2が統計フィードバックを収集するかどうか、Db2が静的 SQL ステートメントのみの統計フィードバック情報を収集するか、動的 SQL ステートメントのみ、または両方のタイプのステートメントに対して収集するかを制御します。
  • STATSINT サブシステム・パラメーターの値を設定します。
    Db2は、前の間隔の間にバインドまたは準備された各 SQL ステートメントについて、統計フィードバック・データを SYSIBM.SYSSTATFEEDBACK カタログ表に外部化します。
    重要: この値は、 Db2 がインメモリ統計をリアルタイム統計テーブルに外部化する間隔も個別に制御します。
    以下のコマンドを実行すると、メモリーに保持されている統計フィードバック推奨事項をただちにカタログに外部化することができます。
    ACCESS DB(*) SP(*) MODE(STATS)
  • SYSIBM.SYSTABLES カタログ表の STATS_FEEDBACK 列の値を設定します。
    この列の値が「N」の場合、Db2はオブジェクトの統計フィードバック・データを収集しません。
  • SYSIBM.SYSSTATFEEDBACK カタログ表の BLOCK_RUNSTATS 列の値を設定します。
    最適化ツールはこの列を使用して、Db2が推奨する特定の統計を実際に収集するかどうかを決定できます。 この列を使用するかどうか、および使用する方法については、使用するツールの情報を参照してください。プログラム固有のプログラミングインターフェース情報を終了します。
変更の開始

次の作業

統計の推奨事項を自動的に統計プロファイルに適用することもできます。 詳細は、「統計プロファイルへの統計推奨事項の自動適用 」を参照してください。変更の終わり