SQL Serverの実行プランとは?推定・実際の実行プランの確認方法を解説
実行プランの基本
実行プランは、統計情報やAlgebrizer/プロセスツリーをもとに、クエリオプティマイザーによって作成されます。これはクエリオプティマイザーが出力した結果であり、クエリがどのような手順で処理されるのかを示す重要な情報です。
実行プランの2種類:推定プランと実際のプラン
実行プランには、次の2種類が存在します。
- 推定実行プラン(Estimated Plan) … オプティマイザーが算出した、最も最適と思われる実行方法の見込みを表示します。
- 実際の実行プラン(Actual Plan) … クエリが実際にどのように実行され、どのようなパフォーマンスを発揮したかを表示します。
プランキャッシュへの保存
作成された実行プランは、再利用のためにプランキャッシュへ保存されます。オプティマイザーがクエリの並列実行を選択しない限り、各プランは一度だけ保存される仕組みになっています。
SQL Serverにおける3つの実行プラン形式
SQL Serverでは、実行プランを次の3つの形式で確認できます。
- グラフィカルプラン(Graphical Plan)
- テキストプラン(Text Plan)
- XMLプラン(XML Plan)(マークアップ言語形式)
また、ユーザーが実行プランを表示するためには、SHOWPLAN権限が必要です。
例1:推定実行プランを確認する手順
以下は、推定実行プランを表示するための手順です。
ステップ1 – SQL Serverインスタンスに接続します。ここでは、下図のようにTESTINSTANCEに接続するものとします。
SQL Serverインスタンスへの接続
ステップ2 – データベース名(ここではTestDB)を選択し、[新しいクエリ]をクリックして、次のクエリを入力します。
Select * from StudentTable
新しいクエリの入力
ステップ3 – 上図で赤く強調されたアイコンをクリックすると、下図のように推定実行プランが表示されます。
推定実行プラン
ステップ4 – Table Scan(上図の赤枠内にある2番目のアイコン)にマウスポインターを合わせると、推定実行プランの詳細を確認できます。次のような画面が表示されます。
推定実行プランの詳細
例2:実際の実行プランを確認する手順
続いて、実際の実行プランを表示する手順を説明します。
ステップ1およびステップ2は、例1と同じ手順です。
実際の実行プランを表示するための新しいクエリ作成
ステップ3 – 上図で赤丸で囲まれたアイコンをクリックすると、下図のように実際の実行プランが開きます。
SQL Serverでの実際の実行プラン
ステップ4 – Table Scan(上図の赤枠内にある2番目のアイコン)にマウスポインターを合わせると、実行プランの詳細を確認できます。次のような画面が表示されます。
実行プランの詳細
ステップ5 – 最後に、画面左上の[結果]をクリックして完了です。
-
SQL Serverの実行プランとは?推定・実際の実行プランの確認方法を解説
実行プランの基本 実行プランは、統計情報やAlgebrizer/プロセスツリーをもとに、クエリオプティマイザーによって作成されます。これはクエリオプティマイザーが出力した結果であり、クエリがどのような手順で処理されるのかを示す重要な情報です。 実行プランの2種類:推定プランと実際のプラン 実行プランには、次の2種類が存在します。 推定実行プラン(Estimated Plan) … オプティマイザーが算出した、最も最適と思われる実行方法の見込みを表示します。 実際の実行プラン(Actual Plan) … クエリが実際にどのように実行され、どのようなパフォーマンスを発揮したかを表示します。
-
【徹底解説】SQL Serverの実行計画の読み方とクエリチューニングのポイント
SQL Serverの実行計画(Execution Plan)は、どのように読めばよいのでしょうか?右から左か、左から右か、それともコストを確認すべきでしょうか?あるいはインデックススキャン、テーブルスキャン、ルックアップといったオブジェクトに着目すべきでしょうか?本記事では、Microsoft® SQL Serverの実行計画の正しい読み方と、クエリチューニングのポイントについて詳しく解説します。 はじめに SQL Serverは通常、良好な実行プランを自動的に生成します。しかし、生成されたプランの妥当性を検証し、非効率なプランを自ら修正できるほど賢くはありません。そのため、DBAや開発者が