実際の実行プランの分析
適用対象: SQL Server Azure SQL Managed Instance
この記事では、SQL Server Management Studio のプラン分析機能を使用して実際のグラフィカルな実行プランを分析する方法について説明します。 この機能は、SQL Server Management Studio v17.4以降 で使用できます。 一般に、SSMS の最新バージョンをインストールすることをお勧めします。
解説
実際の実行プランは、Transact-SQL のクエリまたはバッチが実行された後に生成されます。 そのため、実際の実行プランには、実際の行数、リソース使用状況のメトリック、ランタイムの警告 (ある場合) などのランタイム情報が含まれます。 詳細については、「実際の実行プランの表示」を参照してください。
クエリ パフォーマンスのトラブルシューティングには、根本原因を実際に見つけて修正するために、クエリ処理と実行プランを理解する上で重要な専門知識が必要です。 詳細については、「論理的および物理的なプラン表示演算子のリファレンス」および「クエリ処理アーキテクチャ ガイド」を参照してください。
SQL Server Management Studio には、特に大規模で複雑なプラン向けに、実際の実行プラン分析のタスクにある程度の自動化を実装する機能が含まれています。 目標は、簡単に不正確なカーディナリティ推定のシナリオを見つけ、利用できる可能性がある軽減策に関する推奨事項を得ることです。
重要
提案された緩和策は、運用環境に適用する前に必ず適切にテストしてください。
クエリの実行プランを分析する
[ファイル] メニューを使用し、[ファイルを開く] をクリックするか、プラン ファイルを Management Studio ウィンドウにドラッグすることで、以前に保存したクエリ実行プラン ファイル (
.sqlplan
) を開きます。 あるいは、クエリを実行し、その実行プランの表示を選択したところであれば、結果ウィンドウの [実行プラン] タブに移動します。実行プランの何もない領域を右クリックし、[実際の実行プランの分析] を選択します。
下部に [プラン表示の分析] が表示されます。 [複数ステートメント] タブは、ステートメントが複数含まれるプランを分析するときに便利です。適切なステートメントを分析できます。
[シナリオ] タブを選択すると、実際の実行プランで見つかった問題の詳細が表示されます。 左側ウィンドウの一覧にある各演算子に対して、右側ウィンドウに [このシナリオの詳細については、こちらで選択してください] リンクのシナリオに関する詳細と、そのシナリオが一覧に含まれる理由として考えられることが表示されます。