統計の収集

ワークロード統計アドバイザーを使用すると、データベース管理者は、照会ワークロード全体に含まれる SQL ステートメントに関連した統計を収集することができます。

始める前に

このタスクについて

ワークロード統計アドバイザーは、照会ワークロード内の SQL ステートメントが参照する表に関して、必要な統計を収集するための多数の RUNSTATS コマンドを生成します。

統計が相互に不整合であったり、矛盾していたりすることがよくあります。 統計が収集されていない場合もあります。 列グループの統計の収集はコストが高くなることがあります。ワークロード統計アドバイザーは、どの統計が必要であるかを判断できるため、ユーザーは必要のない統計を収集することで時間やリソースを無駄にせずに済みます。

ワークロード統計アドバイザーが統計収集用の RUNSTATS コマンドを生成した後、統計の現在の状態とアドバイザーが統計内で検出した問題点を検討することができます。データベースに対する適切な権限を持っている場合、選択した RUNSTATS ステートメントを実行できます。

手順

  1. チューニングする SQL ステートメントのワークロードを作成します。
    1. チューニングする SQL ステートメントをキャプチャーします。 DB2 for Linux, UNIX, and Windows で実行する照会ワークロードを作成するための SQL ステートメントをキャプチャーできる場所を参照してください。
    2. SQL ステートメントをキャプチャーした後、「ワークロードにすべて保存 (Save All to Workload)」ボタンをクリックします。
    3. 「ワークロード名および記述の入力 (Input Workload Name and Description)」ウィンドウで、新規照会ワークロードを識別するための情報を指定します。
    「管理」セクションの「ワークロードの管理およびチューニング」ページが開きます。新規の照会ワークロードが、このページの表に表示されます。照会ワークロードの状況は CAPTURED です。
  2. ワークロード統計アドバイザーを実行します。
    1. 「アドバイザーおよびツールの呼び出し」アイコンをクリックします。このアイコンは、照会ワークロードのリストの上部のツールバーの左端にあります。「呼び出し」セクションの「ワークロード・アドバイザーの実行」ページが開きます。
    2. オプション: ワークロード統計アドバイザー用のオプションの値を変更します。
      「呼び出し」セクションの左側にある「ワークロード」の下で、「アドバイザー・オプションの設定」をクリックします。次に、「統計」タブをクリックして、変更できるオプションを表示します。オプションに関するヘルプ情報を見るには、「統計」セクション内の「ヘルプ」アイコンをクリックしてください。オプションの値の変更が完了した後で、「確認」セクションの左側にある 「ワークロード・アドバイザーの実行」をクリックします。
    3. 「実行する項目の選択」ボタンをクリックします。
    4. アクティビティーの選択 (Select Activities)」ウィンドウで、「統計」チェック・ボックスを選択し、「OK」をクリックします。
    5. 「EXPLAIN 情報の収集」ウィンドウで、照会ワークロード内にある SQL ステートメントのランタイム環境に関する値を指定します。ワークフロー・アシスタントは、照会ワークロード内にある SQL ステートメントごとに EXPLAIN ステートメントを実行する必要があります。ワークロード統計アドバイザーは、SQL ステートメントに関する最新情報を必要とします。詳細については、ウィンドウの左下のヘルプ・アイコンをクリックしてください。
    「確認」セクションの「ワークロード・アドバイザーの推奨情報を確認」ページが開きます。このページの「要約」セクションに、ワークロード統計アドバイザーがその照会ワークロード用の新しい推奨情報を持っているかどうかが表示されます。
  3. ワークロード・アドバイザーの推奨情報を確認」ページで、「統計」タブをクリックして、RUNSTATS コマンドに関する新しい推奨情報があるかどうかを確認します。
  4. 上部の表の以下の列を使用して、照会ワークロードのパフォーマンス改善のために修正することが最も重要な統計を持つオブジェクトを判断します。
    表の参照数 (References to Table)
    表を参照する、照会ワークロード内の SQL ステートメントの数。
    カーディナリティー
    表の行数。表のカーディナリティーが不明の場合、値は -1 です。
    累積合計コスト
    表を参照するステートメントの累積コスト。 この列には、ある表を参照する SQL ステートメントの累積コストが、別の表を参照するステートメントの累積コストに比べて高いかどうかを表示できます。コストが高い場合、その表に対して RUNSTATS を実行すると、このコストを削減するのに役立つことがあります。
    収集のタイム・スタンプ (Collection Timestamp)
    表の統計が最後に収集された日時。
  5. 最も重要なオブジェクトについて、ワークロード統計アドバイザーが識別した問題を調べます。
    欠落
    表または表の索引に関する 1 つ以上の統計が欠落しているかどうかを示します。行をクリックし、次に「選択済みの表の詳細」セクションで、その表の統計を調べます。 「欠落」の値を持つ列を見つけます。
    矛盾
    表、列、または表の索引に関する 2 つ以上の統計が矛盾しているかどうかを示します。表の値が「はい」の場合、その表の行をクリックし、「表の詳細」セクション内の「矛盾」セクションを調べます。「選択済みの表の詳細」セクション内のその他のセクションでも「矛盾」の値を持つ列を調べることができます。
    古い (Obsolete)
    表の統計が古いかどうかを示します。統計が古いかどうかは、ワークロード統計アドバイザーのオプションで設定した存続期間しきい値によって判別されます。
    カーディナリティー不明 (Cardinality Unknown)
    表のカーディナリティーが不明であるかどうかを示します。これに該当するのは、カーディナリティーが 0 であり、表の統計が古い場合です。
    古い統計ビュー (Obsolete Statistical View)
    統計ビューの場合、この列は、統計ビューの統計が、そのビューの基本表の統計より古いかどうかを示します。
  6. 最も重要なオブジェクトのそれぞれについて、カタログ内に統計があるが照会ワークロード内の SQL ステートメントによって参照されない列または列グループがあるかどうかを調べます。 「列」セクションおよび「列グループ」セクションの下部で探します。 ワークロード統計アドバイザーは、ユーザーが後で選択して実行できる以下の 2 つの タイプの RUNSTATS コマンドを生成するため、ユーザーはこの情報を見つける必要があります。
    マージ (Merged)
    マージ RUNSTATS コマンドは、表統計を修正するための推奨設定を含んでおり、カタログ内に統計がある非参照の列または列グループのすべてまたはサブセットに関する統計を更新します。
    このタイプのコマンドの実行は、追加の列があるために、より多くのリソースを必要とします。
    アドバイザー生成 (Advisor-generated)
    アドバイザー生成 RUNSTATS コマンドは、表統計を修正するための推奨設定を含んでおり、参照されない列および列グループに関する統計を除去します。
  7. RUNSTATS コマンドを実行する各オブジェクトの横のチェック・ボックスを選択します。
  8. 5. 「RUNSTATS の表示 (View RUNSTATS)」ボタンをクリックします。 「推奨される RUNSTATS コマンドの確認 (Review Recommended RUNSTATS Commands)」ウィザードが開きます。
  9. ウィザードの指示に従って、選択したオブジェクトごとに、マージ RUNSTATS コマンドまたはアドバイザー生成 RUNSTATS コマンドを実行または保存します。

次のタスク

ワークロード統計アドバイザーから統計ビューに関する推奨情報を取得します。

フィードバック