クエリの分析
クエリや、更新などのその他の DML では、SQL Server データベース エンジン では、データにアクセスして処理するために、テーブル間を移動し、インデックスを使用する方法を表示できます。これが実行プランの表示です。実行速度が遅いクエリを分析するには、クエリの実行プランを調査して問題の原因を究明することが役立ちます。SQL Server によって実行プランが作成および使用される方法の詳細については、「単一 SQL ステートメントの処理」および「実行プランのキャッシュと再利用」を参照してください。
SQL Server 2005 では、実行プランを次の方法で表示できます。
- 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 を使用した実行プランの表示について説明します。また、Management Studio で実行プランのグラフィカル表示に使用しているすべてのアイコンのリファレンスも記載しています。 |
|
Transact-SQL SET ステートメントのオプションを使用した XML 形式またはテキスト形式の実行プランの表示について説明します。 |
|
トレース内の SQL Server Profiler イベント クラスを使用した XML 形式またはテキスト形式の実行プランの表示について説明します。 |
|
実行プランを表示する各種方法に必要な権限、および SQL Server 2005 から導入された SHOWPLAN 権限について説明します。 |
|
プラン表示 XML スキーマについて説明します。 |
|
プラン表示の実行プラン情報を生成する Transact-SQL ステートメントについて説明します。 |
|
実行プランに表示される可能性のあるすべての論理操作と物理操作のリファレンスを示します。このリファレンスを使用して実行プランの出力を読み取ってください。 |
参照
概念
SQL Server Profiler での Showplan 結果を使用したクエリの分析