Db2 ユーティリティーを使用した統計の収集

特定の Db2 ユーティリティーを実行して、データベース・オブジェクトのアクセス・パス統計を収集することができます。 正確な統計は、アクセス・パスの選択に不可欠な要素です。

始める前に

統計フィードバック・データを使用して、欠落している統計または矛盾する統計を識別できます。 詳細は、「欠落または矛盾する統計の特定 」を参照してください。

新しい統計を収集する前に、データベース・オブジェクトのアクセス・パス統計をリセットできます。 これを使用すると、統計プロファイルが収集を開始するため、アクセス・パスの選択に影響を与えるか、統計収集コストが増加するのを防ぐことができます。 詳細については、「アクセスパスの統計のリセット 」および 「期限切れまたは不要な Db2 カタログ統計の削除 」を参照してください。

ヒント: IBM® Db2 Administration Foundation for z/OS® そして IBM Db2 for z/OS 開発者向け拡張機能 などのツールの 機能を使用することで、SQLステートメントで収集する統計を特定することができます。 統計アドバイザー

このタスクについて

Db2オンライン・ユーティリティーを使用して、データベース・オブジェクトの統計を収集できます。 RUNSTATS ユーティリティーの目的は、データベース・オブジェクトの統計を収集することです。 ただし、その他のDb2ユーティリティーの実行時にも、インライン統計を収集することができます。

プロシージャー

データベース・オブジェクトの統計を収集するには、以下のいずれかの方法を使用します。

  • RUNSTATS ユーティリティーを実行します。
    RUNSTATS ユーティリティーは、最も完全で正確な統計を収集します。
  • 以下のいずれかのユーティリティーを実行するときには、インライン統計のコレクションを指定するために STATISTICS キーワードを指定します。
    • LOAD
    • REBUILD INDEX
    • REORG INDEX
    • REORG TABLESPACE
    インライン統計を収集することにより、RUNSTATS ユーティリティーの実行コストがかからないことがあります。
    重要: インライン統計で収集された統計は、RUNSTATS ユーティリティで収集された統計と異なる場合があります。 RUNSTATS が使用する特定のリソースおよび値は、インライン統計を収集するユーティリティーのコンテキストでは使用できないことがあります。 そのような欠落値や不確定要素の代わりに見積もりを使用する必要があります。 その結果、統計の精度が落ちる可能性があります。 したがって、照会ワークロードのアクセス・パスの選択をサポートするのに、インライン統計が適しているかどうかを評価する必要があります。 以下に例を示します。
    • LOAD ユーティリティーを指定したインライン統計を収集するときに DISCARDDN オプションを指定すると、行が破棄される前に統計が収集されます。 多数の行が破棄される場合は、結果的な統計が非常に不正確になる可能性があります。 一般的なルールとして、破棄される行数が表内の合計行数の 20 % を超える場合、正確な統計を収集するために、LOAD ユーティリティーを実行した後で RUNSTATS を別個に実行します。
    • インライン統計によって収集されるヒストグラム統計は見積もりの HIGHKEY 値に依存しなければならないため、その結果得られる値も概算値にしかなりません。

次の作業

統計収集を標準化および自動化するために、以下のアクションの実行を検討します。