クエリの分析
SQL Server データベース エンジンでは、クエリのほか、更新などその他の DML ステートメントで、どのようにテーブル間を移動し、インデックスを使用してデータにアクセスおよび処理するのかを表示できます。これが実行プランの表示です。実行速度が遅いクエリを分析するには、クエリの実行プランを調査して問題の原因を究明することが役立ちます。SQL Server によって実行プランが作成および使用される方法の詳細については、「SQL ステートメントの処理」および「実行プランのキャッシュと再利用」を参照してください。
実行プランは次の方法で表示できます。
SQL Server Management Studio
グラフィカルな推定実行プラン (ステートメントは実行されません)、または (実行したステートメントの) グラフィカルな実際の実行プランのいずれかを表示します。いずれのプランも Management Studio で保存および表示できます。
Transact-SQL SET ステートメントのオプション
Transact-SQL SET ステートメントのオプションを使用すると、推定実行プランや実際の実行プランを XML またはテキストで生成できます。
SQL Server Profiler イベント クラス
SQL Server Profiler のイベント クラスを選択して、推定実行プランや実際の実行プランをトレース結果として XML またはテキストで生成するトレースに、選択したクラスを含めることができます。
上記のいずれかの方法で実行プランを表示すると、個別の DML (データ操作言語) や Transact-SQL ステートメントに対してデータベース エンジンが使用する最適な実行プランが表示されます。表示された実行プランからは、ストアド プロシージャに関するコンパイル時の情報、および任意の数の呼び出しレベルまでに呼び出されるストアド プロシージャがわかります。たとえば、SELECT ステートメントの実行で、データベース エンジンによってデータ取得にテーブル スキャンが使用されることが示される場合があります。また、データベース エンジンでインデックス スキャンの方がテーブルからデータを取得するよりも速いと判断した場合、インデックス スキャンが使用されることが表示される場合もあります。
このセクションの内容
実行速度の遅いクエリを分析するためのチェックリスト
実行速度が遅いクエリの一般的な原因、およびクエリのパフォーマンスを向上させるための方法について説明します。グラフィカル実行プランの表示 (SQL Server Management Studio)
SQL Server Management Studio を使用した実行プランの表示について説明します。また、Management Studio で実行プランのグラフィカル表示に使用しているすべてのアイコンのリファレンスも記載しています。プラン表示 SET オプションを使用した実行プランの表示 (Transact-SQL)
Transact-SQL SET ステートメントのオプションを使用した XML 形式またはテキスト形式の実行プランの表示について説明します。SQL Server Profiler のイベント クラスを使用した実行プランの表示
トレース内の SQL Server Profiler イベント クラスを使用した XML 形式またはテキスト形式の実行プランの表示について説明します。プラン表示のセキュリティ
SHOWPLAN 権限、および実行プランを表示する各種方法に必要な権限について説明します。XML プラン表示
プラン表示 XML スキーマについて説明します。Showplan を生成する Transact-SQL ステートメント
プラン表示の実行プラン情報を生成する Transact-SQL ステートメントについて説明します。ビットマップ フィルターを含んだ実行プランの解釈
動的フィルタ選択が含まれているクエリ実行プランを理解する方法について説明します。論理操作と物理操作のリファレンス
実行プランに表示される可能性のあるすべての論理操作と物理操作のリファレンスを示します。このリファレンスを使用して実行プランの出力を読み取ってください。