DB2 for z/OS® で実行する照会ワークロードのパフォーマンス改善のための索引に関する推奨情報の生成とそれに基づく対応

ワークロード索引アドバイザーは、照会ワークロード内の SQL ステートメントによって参照される表に対して、新規の索引と、既存の索引の変更を推奨します。

始める前に

このタスクについて

適切な索引セットを使用すると、表への効率的なアクセスや、照会処理の速度向上を実現できるため、索引は照会パフォーマンスにとって重要です。 索引を使用することで、ローカル・フィルタリングの実行、結合処理の効率化、ソート処理の必要性の排除、索引のみのアクセスの実行、および参照整合性の強化などにより、パフォーマンスを改善することができます。

ワークロード索引アドバイザーが新規索引および既存の索引の変更に関する推奨情報を生成した後、これらの推奨情報を詳しく検討することができます。データベースに対する適切な権限を持っている場合は、 DDL ステートメントを実行して、選択する推奨事項を実行することができます。

手順

  1. 「管理」セクションで、「ワークロードの管理およびチューニング」ページを開きます。
  2. 照会ワークロードを選択し、「アドバイザーおよびツールの呼び出し」アイコンをクリックします。このアイコンは、照会ワークロードのリストの上部のツールバーの左端にあります。「呼び出し」セクションの「ワークロード・アドバイザーの実行」ページが開きます。
  3. オプション: ワークロード索引アドバイザー用のオプションの値を変更します。
    「呼び出し」セクションの左側にある「ワークロード」の下で、「アドバイザー・オプションの設定」をクリックします。次に、「索引」タブをクリックして、変更できるオプションを表示します。オプションに関するヘルプ情報を見るには、「?」アイコンをクリックしてください。オプションの値の変更が完了した後で、「確認」セクションの左側にある 「ワークロード・アドバイザーの実行」をクリックします。
  4. ワークロード統計アドバイザーが推奨した RUNSTATS コマンドを実行した後でワークロード索引アドバイザーを実行している場合は、「照会ワークロードの再 EXPLAIN」チェック・ボックスが選択されていることを確認します。 これで SQL ステートメントの統計が正確になったので、ワークフロー・アシスタントはそのステートメントの EXPLAIN 情報を更新する必要があります。
  5. 実行する項目の選択」ボタンをクリックします。
  6. アクティビティーの選択 (Select Activities)」ウィンドウで、「索引」チェック・ボックスを選択し、「OK」をクリックします。

    「確認」セクションの「ワークロード・アドバイザーの推奨情報を確認」ページが開きます。そのページの「要約」セクションに、索引に関する推奨情報があるかどうかが示されます。

  7. ワークロード・アドバイザーの推奨情報を確認」ページで、「索引」タブをクリックして、索引に関する新しい推奨情報があるかどうかを確認します。
  8. 「索引」セクションの上部で、この情報を確認します。
    パフォーマンス推定改善率
    推奨された索引のすべてが作成された場合に、照会ワークロード内のすべてのステートメントを実行する時間が改善されるパーセンテージ。
    必要なディスク・スペース (DASD スペース)
    推奨された索引のすべてを作成するために必要なディスク・スペースの量。
    合計 IUD コスト
    推奨された索引が作成された後、照会ワークロード内にある INSERT、UPDATE、および DELETE ステートメントのすべてを実行するための合計時間 (ミリ秒単位)。
  9. ワークロード索引アドバイザーが推奨情報を持っている表のリストを確認します。
    この情報は、表ごとに表示されます。
    カーディナリティー
    表の行数。カーディナリティーが不明の場合、値は -1 です。
    表の参照数 (References to Table)
    表を参照する、照会ワークロード内の SQL ステートメントの数。
    累積合計コスト
    表を参照するすべての SQL ステートメントを実行する累積のコスト。
    推奨される索引
    ワークロード索引アドバイザーが表に対して推奨する索引の数。
    IUDM ステートメント
    表を参照する INSERT、UPDATE、DELETE、および MERGE ステートメントの数。
  10. 推奨情報を確認する各表の横のチェック・ボックスを選択します。
  11. 「推奨情報」セクションで、アドバイザーが推奨する新規索引および変更された索引を確認します。
    この情報は、以下のセクションに表示されます。
    索引
    推奨された索引の名前。この名前は変更できます。
    索引の推奨対象である表の名前。
    新規索引列
    推奨情報が索引を変更することである場合、この列は、変更された索引内の列を表示します。
    旧索引列
    推奨情報が索引を変更することである場合、この列は、現行索引内の列を表示します。
    見積もりパフォーマンス向上 (Estimated Performance Gain)
    推奨された索引が、表に対するステートメントの実行速度を改善できるパーセンテージ。
    見積もり CPU 節約 (Estimated CPU Savings)
    推奨索引の使用によって現行 CPU 使用量が削減されるパーセンテージ。
    IUD コスト
    索引の影響を受けるすべての INSERT、UPDATE、および DELETE ステートメントの実行の累積コスト。
    ディスク・スペース見積もり
    推奨された索引を作成するために必要なスペースの量。
    ワークロードで使用された時間 (Times Used In Workload)
    表を参照する照会ワークロード内のすべての SQL ステートメントの実行カウントの合計。
    ユニーク
    索引がユニークかどうかを示します。
    推奨された理由 (Reason Recommended)
    アドバイザーが推奨している理由。
  12. 「既存の索引」セクションでは、DB2 オプティマイザーが既存の索引を使用しているかどうか、およびアドバイザーからの推奨情報に従った後もオプティマイザーが既存の索引の使用を続けるかどうかを調べることができます。
    この情報は、以下のセクションに表示されます。
    索引
    索引の名前。
    対応する表の名前。
    作成者
    索引の修飾子。
    索引列
    既存索引のキー列。
    後で使用 (Used After)
    推奨索引が作成された場合、その索引が使用されるかどうかを示します。
    前に使用 (Used Before)
    その索引が、対応する表を参照するステートメントの現行のアクセス・プランで使用されるかどうかを示します。
    外部キー索引
    索引が、対応する表の外部キー上にあるかどうかを示します。
  13. 「オプティマイザーに選択されたが推奨されない索引」セクションでは、アドバイザーが推奨しようと考え、DB2 オプティマイザーは使用することになっていたが、ユーザーの設定する制約に違反しているためにアドバイザーが推奨しなかった索引のリストを確認できます。制約を見たい場合は、「制約」タブをクリックします。
    この情報は、以下のセクションに表示されます。
    索引
    索引の名前。
    索引の評価対象である表の名前。
    索引列
    索引のキー列。
    ディスク・スペース見積もり
    索引が必要とするディスク・スペースの量。
    推奨されない理由 (Reason Not Recommended)
    索引が違反している制約。
  14. どの SQL ステートメントが、推奨された索引を使用するかを見たい場合は、「推奨情報」セクションで、関心のある各索引の横のチェック・ボックスを選択し、選択された索引によって影響を受ける SQL の表示 (Show SQL Affected by the Selected Indexes)」アイコンをクリックします。
  15. オプション: ワークロード索引アドバイザーで 1 つまたは 2 つの制約を変更して、新規セットの推奨情報を生成します。 「推奨情報」セクションで、「制約の変更 (Change Constraints)」アイコンをクリックします。新規索引用に割り振るディスク・スペースの量および表当たりの索引許容数を変更できます。
  16. 推奨情報の DDL ステートメントを実行または保存する場合は、「DDL の実行」アイコンをクリックします。 「選択した索引の DDL の実行」ウィンドウでは、ステートメントを実行したり、ファイルに保存したりすることができます。また、ステートメントを実行または保存する前に、ステートメントを変更することもできます。

次のタスク

推奨された DDL ステートメントを実行した後で、ワークロード照会アドバイザーおよびワークロード・アクセス・パス・アドバイザーを実行できます。

フィードバック