単一 SQL ステートメントのチューニング

DB2® for Linux, UNIX, and Windows および DB2 for z/OS® にアクセスするアプリケーションで、SQL ステートメントのパフォーマンスを改善することができます。

始める前に

このタスクについて

SQL ステートメントをチューニングするためのアドバイザー、分析ツール、およびレポートの使用について既定の順序はありませんが、ユーザー独自のチューニング・シナリオの基礎にできる一般的な順序があります。

手順

ほとんどの場合、SQL ステートメントのチューニングは以下の手順に従って行うことができます。

  1. チューニングする SQL ステートメントをキャプチャーします。単一照会チューニング用の SQL ステートメントをキャプチャーできる場所を参照してください。
  2. 接続されたデータ・サーバー上でチューニング用のライセンスが活動化されている場合、以下の手順で SQL ステートメントのチューニングを行います。
    1. 問題のステートメントをフォーマット設定し、注釈を付けて、ステートメントを読みやすく、分かりやすいようにします。 注釈では、DB2 オプティマイザーがアクセス・プランを生成する際にどの情報を使用しているかを理解するのに役立つ、関連の統計を表示します。SQL ステートメントのフォーマットを参照してください。
    2. 以下のステップの一方または両方に従います。
    3. 統計アドバイザーを実行してその推奨情報に従い、DB2 オプティマイザーが常に最新の最も必要とされる統計を持っているようにします。 SQL ステートメントのアクセス・パス内にあるデータベース・オブジェクト用の統計収集に関する推奨情報の生成とそれに基づく対応を参照してください。
    4. 索引アドバイザーを実行してその推奨情報に従い、不要な表スキャンを避けるのに役立つ適切な索引が存在するようにします。 単一 SQL ステートメントのパフォーマンス改善のための索引に関する推奨情報の生成とそれに基づく対応を参照してください。
    5. 照会アドバイザーを実行してその推奨情報に従い、DB2 オプティマイザーが次善のアクセス・パスを選択する原因になる可能性があるステートメント内の構造を検出して修正します。 パフォーマンス改善のための SQL ステートメントの改訂に関する推奨情報の生成とそれに基づく対応を参照してください。
    6. アクセス・パス・アドバイザーを実行して、DB2 オプティマイザーがステートメントを処理するために次善のアクセス・パスを使用しているかどうかを調べます。その後、アドバイザーの推奨情報に従います。 SQL ステートメントのアクセス・パスの変更に関する推奨情報の生成とそれに基づく対応を参照してください。
    7. DB2 オプティマイザーが引き続き次善のアクセス・パスの使用する場合、アクセス・パスの選択に関して明示的な指示をオプティマイザーに提供する、プラン・ヒント (DB2 for z/OS の場合) または最適化プロファイル (DB2 for Linux, UNIX, and Windows の場合) を作成、検証、およびデプロイします。
  3. 接続されたデータ・サーバー上でチューニング用のライセンスが活動化されていない場合、以下の手順で SQL ステートメントのチューニングを行います。
    注: IBM® Data Studio を使用している場合、データ・サーバー上ではライセンスは活動化されません。
    1. SQL ステートメントをフォーマット設定して、ステートメントを読みやすく、分かりやすいようにします。 フォーマット済みバージョンの SQL ステートメントを見ると、未フォーマット・バージョンでは明白でなかったものを見抜けることがあります。SQL ステートメントのフォーマットを参照してください。
    2. SQL ステートメントのアクセス・プラン・グラフを分析して、ステートメントが参照するオブジェクト内のデータに DB2 がアクセスする方法を見つけます。 アクセス・プランのビジュアル表示の生成を参照してください。
    3. 統計アドバイザーを実行してその推奨情報に従い、DB2オプティマイザーが最新の最も重要な統計を持っているようにします。 SQL ステートメントのアクセス・パス内にあるデータベース・オブジェクト用の統計収集に関する推奨情報の生成とそれに基づく対応を参照してください。

フィードバック