本文へスキップ

SQL Plan 分析

ホーム画面 > プロジェクト選択 > 分析 > SQL分析

データベースで実行される SQL 文を分析し、パフォーマンス問題を診断するための有用な情報を提供します。
SQL Plan 分析Access Statistics タブと Plan Change History タブで構成されています。

Access Statistics

Access Statistics タブでは、SQL ごとの Full Scan の発生時点、種類、回数を確認できます。
頻繁に Full Scan が発生するクエリは、インデックスを使用するように修正することで、パフォーマンスを改善し、リソース使用量を削減できます。

  1. 分析 > SQL Plan 分析Access Statistics タブに移動します。

  2. 照会時間とインスタンスを選択します。

  3. 時間 および インスタンス オプションを設定し、検索アイコン ボタンをクリックします。
    必要に応じて、フィルター オプションを設定して結果をフィルタリングできます。

  4. Access CountOperation Count セクションで検索結果を確認します。

    • Access Count: 時間帯ごとの Full Scan 発生回数を表示する棒グラフです。
      特定の時間帯を選択すると、その時間に実行された SQL の一覧が画面下部に表示され、右側の Operation Count チャートも更新されます。

    • Operation Count: Full Scan が発生した種類とその回数を確認できます。
      各バーにマウスを重ねるとオブジェクト名が表示されます。

      Operation Count

SQL 詳細情報の確認

画面の下のSQL一覧でqueryカラム項目を選択するとSQL詳細画面が表示されます。 SQLクエリ文とPlan情報を確認することができます。

SQL統計の表示 ボタンをクリックすると、選択した SQL クエリに関連する統計情報を確認できる SQL統計 に移動します。

SQL統計

  • Runtime Plan: 選択されたSQLクエリの実行計画とランタイム情報を提供します。 実行回数、平均実行時間、平均物理的読み取りなどの詳細を提供します。

  • Explain Plan: オプティマイザーが予測した実行計画を示します。 費用、作業、オブジェクト名、カーディナリティなどの情報を提供します。

  • Plan History: データベースで実行されたSQLクエリの実行計画に対する履歴を確認できます。

  • Bind Capture: データベースで実行されたSQLクエリに使用されたバインド変数の値を確認できます。 これにより、クエリ実行の実際の内容を確認できます。

    ノート

    リアルタイムで実行されたbind値ではなく、データベースにキャプチャされた値(v$sql_bind_capture)です。 件数が多いと、100個まで表示します。

AI チューニングガイド

AI チューニングガイドは、SQL クエリ、プラン、統計情報を分析してパフォーマンス問題を診断し、最適化の提案を行う機能です。
開発者や DBA がボトルネックの原因を迅速に特定し、効率的な SQL によりパフォーマンスを改善できるよう支援します。

注意

使用条件および注意事項

PostgreSQL、MySQL、SQL Server ではプランの取得が必須です。
プランを取得しない場合、AI チューニングガイドアイコンは 無効な AI チューニングガイドアイコン(無効)として表示され、機能を使用できません。

  • AI が生成する結果は自動分析に基づいており、精度が 100% ではないことにご留意ください。
  1. 分析および診断する SQL をクリックし、SQL詳細 画面に移動します。

  2. SQL詳細 画面の右下にある AI チューニングガイドアイコン AI チューニングガイドアイコ�ン をクリックして AI 分析を開始します。

  3. AI 分析結果を確認します。

    結果項目説明
    クエリプランおよび概要クエリの目的と実行概要を表示します。
    実行回数、累積実行時間、データベース全体の負荷比率を分析し、当該 SQL がシステムパフォーマンスに与える影響を評価します。
    パフォーマンス分析分析結果を総合し、パフォーマンススコアと診断結果を提供します。
    CPU 使用率、ディスク使用率、キャッシュヒット率、待機時間など、クエリ実行過程における詳細なリソース使用量を分析し、ボトルネックの発生区間を視覚的に表示します。
    発見された主な問題主な問題点を要約して表示します。
    最適化推奨事項検出された問題に基づき、最適化されたクエリを提案します。

参照結果フィルタリング

取得結果は次の基準でフィルタリングできます。

  • Access Type: Full Scan または Index Scan を基準に結果をフィルタリング

  • Object Name: オブジェクト名を基準にフィルタリング

Access Typeフィルター条件を追加する

  1. 画面上部の フィルター オプションで、 ボタンをクリックします。

  2. フィルターの修正Access Type 項目と 一致 条件を選択し、FULL または INDEX を選びます。

  3. 適用 ボタンをクリックします。

  4. 選択した条件を SQL 一覧に反映するには、検索アイコン ボタンをクリックします。

ノート

Full Scan、Index Scanをすべて検索するには、フィルターの修正FULLINDEXオプションをすべて選択します。 またはプラスアイコンボタンを選択してフィルターオプションを追加できます。

Object Nameフィルター条件を追加する

  1. 画面上部の フィルター オプションで、 ボタンをクリックします。

  2. フィルタの追加Object Name 項目と 一致 条件を選択します。

  3. 空の入力欄をクリックし、表示されたオブジェクトリストから目的のオブジェクト名を選択します。

  4. 適用 ボタンをクリックします。

  5. 選択した条件を SQL 一覧に反映するには、検索アイコン ボタンをクリックします。

ノート

フィルター条件の追加と削除

  • フィルタリング条件を追加するには、追加 ボタンをクリックし、手順 1~5 を繰り返します。追加された条件は AND(&&)条件として適用されます。

  • 条件追加中に一部の項目を削除する場合は、フィルター条件の右側にある 削除アイコン ボタンをクリックします。すべての条件を削除するには、削除アイコン 完全削除 ボタンをクリックします。

  • フィルター オプションに適用された条件をすばやく削除するには、 ボタンをクリックします。

フィルター条件を修正する

  1. 画面上部の フィルター オプションで、適用されている項目をクリックします。

  2. フィルターの修正 ウィンドウで目的の項目を修正し、適用 ボタンをクリックします。

Plan Change History

Plan Change History タブでは、同じ SQL ID でも実行計画が変更されるとパフォーマンスに影響を与える可能性があります。
オプティマイザーによるプラン変更を検知・監視することで、不要な変更を防ぎ、SQL パフォーマンスの一貫性を維持できます。

  1. 分析 > SQL Plan 分析Plan Change Historys タブに移動します。

  2. 照会時間とインスタンスを選択します。

  3. 時間 および インスタンス オプションを設定し、検索アイコン ボタンをクリックします。

  4. Plan Change Count セクションで特定の時間帯を選択すると、その時間に発生したプラン変更の一覧が表示されます。

    • Plan Change Count セクション: 時間帯ごとに発生したプラン変更の回数を確認できる棒グラフチャートです。

Plan変更事項を確認する

  1. SQL Plan 分析Plan Change Historys タブの一覧から特定の変更項目をクリックします。

  2. Query セクションに、プラン変更前後の詳細が表示されます。
    プランの差分を比較して、パフォーマンス変化の原因を特定できます。

    • Query セクションの右上にある 新しいウィンドウアイコン ボタンをクリックすると、そのセクションを新しいウィンドウで確認できます。
  3. Query セクションを閉じるには、右上の 閉じるア��イコン ボタンをクリックします。

参照結果フィルタリング

照会結果は次の基準でフィルタリングできます。

  • sql_id

  • sql_hash_value

  • after_plan_hash_value

  • before_plan_hash_value

フィルター条件を追加する

  1. フィルターオプションでボタンを選択します。

  2. フィルターキー項目で目的のフィルタリング基準を選択します。

    • 選択した項目の値が文字に該当する場合は含む(青)、含まない(赤) の条件を選択できます。

      example

    • 選択した項目の値が数字に該当する場合は==(等しい), >=(より大きいか等しい), <=(より小さいか等しい) 条件を選択できます。

  3. 条件項目で条件を選択します。

  4. 条件に一致する文字列または数字を入力します。

  5. 適用ボタンを選択します。

ノート

フィルター条件の追加と削除

  • フィルタリング条件を追加するには、追加 ボタンをクリックし、手順 1~5 を繰り返します。追加された条件は AND(&&)条件として適用されます。

  • 条件追加中に一部の項目を削除する場合は、フィルター条件の右側にある 削除アイコン ボタンをクリックします。すべての条件を削除するには、削除アイコン 完全削除 ボタンをクリックします。

  • フィルター オプションに適用された条件をすばやく削除するには、 ボタンをクリックします。

フィルター条件を修正する

  1. 画面上部の フィルター オプションで、適用されている項目をクリックします。

  2. フィルターの修正 ウィンドウで目的の項目を修正し、適用 ボタンをクリックします。