データベースクエリの [Execution Plan] ウィンドウの機能
データベースクエリの [Execution Plan] ウィンドウでは、次のことができます。
- [Explain] をクリックすると、クエリの実行プランが表示されます。
- [Schema] をクリックして別のスキーマを選択し、そのスキーマに基づいて実行プランを説明します。データベースアカウント権限の範囲外のスキーマに属しているクエリの実行プランを表示する場合は、スキーマにアクセスできる別のデータベースアカウントのユーザー名とパスワードを入力できます。
- 最適ではないクエリを改善する場合は、クエリを変更して [Explain another query] ボックスに貼り付けることができます。[Explain] ボタンをクリックして、変更したクエリの実行プランを生成し、変更したクエリがより効率的であるかどうかを判断します。
- ページの上部にあるクエリ名の横にある下矢印をクリックして、別のデータベースコレクタのクエリとクエリ実行プランを表示できます。リストからデータベースコレクタ名を選択するか、または検索バーでデータベースコレクタを検索することができます。更新アイコンをクリックすると、検索条件を満たすデータベースコレクタのみが表示されます。
SQL Server または Azure を使用している場合は、次のいずれかの方法で実行プランを表示できます。
- キャッシュされた実行プランを選択し、[View Cached Plan] をクリックしてプランの詳細を表示します。
- キャッシュされた実行プランをダブルクリックします。
MySQL を使用している場合は、次のことも実行できます。
- 別のスキーマのクエリを説明することを選択します。[Plan Details] で、右側のリストからスキーマ名を選択し、[Explain] をクリックします。
- [解析済みSQL(Parsed SQL)] 出力ボックスのテキストをコピーして、編集可能な [Explain another query] ボックスに貼り付けてから、編集したバージョンのクエリを説明します。
MSSQL を使用している場合は、次の手順を実行して、実行プランでコストのかかる操作(操作の実行に必要な CPU 使用率、I/O、メモリなどの作業量)とプランの警告(存在する場合)を表示できます。
- [Query Plan Handle(s)] で、キャッシュされた実行プランを選択します。
- [View Cached Plan] をクリックします。Top Plan Operations に関する次の詳細情報を表示できます。
| フィールド名 | 説明 |
|---|---|
| Operation |
実行プラン内のオブジェクトスキャン(テーブルまたはインデックス)操作 |
|
Database | オブジェクトのデータベース名 |
|
Schema | データベース内のオブジェクトのスキーマ |
| Object Name | 操作でスキャンされるオブジェクト(テーブルまたはインデックス)の名前 |
|
Estimated I/O Cost | 操作を実行するための推定入出力(I/O)コスト |
| Estimated CPU Cost | 操作を実行するための推定 CPU コスト |
| Estimated number of rows | オブジェクトの推定行数 |
Warnings:この表には、型変換などの問題に関連する実行プランの警告が含まれています。この表は、クエリの実行中に発生する、パフォーマンスを低下させる可能性のあるアクティビティを把握するのに役立ちます。この表には、次のフィールドが含まれています。
- Issue:警告の問題の説明。
- Expression:問題に関連する実行プランで使用されるクエリ式。
Oracle データベースを使用している場合は、キャッシュされた実行プランの詳細と、上位のプラン操作および参照オブジェクトを表示できます。詳細を表示するには、[View Cached Plan(s)] でキャッシュされた実行プランをダブルクリックします。次の詳細情報が表示されます。
上位プラン操作
| フィールド名 | 説明 |
|---|---|
| Operation | ステップで実行された内部操作の名前([TABLE ACCESS] など) |
| Options | [Operation] 列に記載されている操作のバリエーション([FULL] など) |
Referenced Objects
| フィールド名 | 説明 |
|---|---|
| Tree Node | 実行プランで使用されたシーケンスのステップ番号 |
| Operation |
実行プラン内のオブジェクトスキャン操作(テーブルまたはインデックス) |
| Object Type | データベースオブジェクトのタイプ(インデックスまたはテーブル) |
| Object Name | データベースオブジェクトの名前 |
[Database Query Execution Plan] ウィンドウで、次の情報を確認できます。
- Cached Execution Plan(s):データベースごとに異なる、キャッシュされた実行プランの詳細を特定します。SQL Server の場合、実行プランは図として表示されます。
- Plan Details:実行プランの詳細。選択したクエリを処理するためにデータベースが従った手順を段階的に示します。
- Referenced Objects:実行プランによってアクセスされるデータベースオブジェクト。