プラン表示 SET オプションを使用した実行プランの表示 (Transact-SQL)

実行プラン情報を表示するための Transact-SQL SET ステートメント オプションでは、XML およびテキスト形式で出力が生成されます。このトピックでは、これらのオプションについて説明します。

プラン表示 SET ステートメント オプション

Transact-SQL の SET ステートメントには、クエリ実行プランを表示できるようにする次のオプションが用意されています。

ms180765.note(ja-jp,SQL.90).gifメモ :
SHOWPLAN_XML、SHOWPLAN_ALL、および SHOWPLAN_TEXT SET オプションでは、バッチごとに 1 つの行セットが生成されます。STATISTICS XML および STATISTICS PROFILE SET オプションでは、バッチのクエリごとに 1 つの行セットが生成されます。
  • SET SHOWPLAN_XML ON
    このステートメントを使用すると、SQL Server で Transact-SQL ステートメントが実行されません。代わりに、Microsoft SQL Server は、適切な形式の XML ドキュメントでステートメントがどのように実行されるかについての実行プラン情報を返します。詳細については、「SET SHOWPLAN_XML (Transact-SQL)」を参照してください。
  • SET SHOWPLAN_TEXT ON
    この SET ステートメントを実行すると、SQL Server はテキスト内のクエリごとに実行プラン情報を返します。Transact-SQL ステートメントまたはバッチは実行されません。詳細については、「SET SHOWPLAN_TEXT (Transact-SQL)」を参照してください。
  • SET SHOWPLAN_ALL ON
    このステートメントは SET SHOWPLAN_TEXT と似ていますが、出力は SHOWPLAN_TEXT よりも詳細な形式になります。詳細については、「SET SHOWPLAN_ALL (Transact-SQL)」を参照してください。
  • SET STATISTICS XML ON
    ステートメントから返される通常の結果セットに加えて、ステートメントの実行後に各ステートメントの実行情報を返します。出力は、適切な形式の XML ドキュメントのセットです。SET STATISTICS XML ON では、実行するステートメントごとに XML 出力ドキュメントが生成されます。SET SHOWPLAN_XML ON と SET STATISTICS XML ON の相違点は、SET STATISTICS XML ON では Transact-SQL ステートメントまたはバッチが実行されることです。SET STATISTICS XML ON の出力には、さまざまな操作によって処理された実際の行数や、操作の実際の実行回数についての情報も含まれています。詳細については、「SET STATISTICS XML (Transact-SQL)」を参照してください。
  • SET STATISTICS PROFILE ON
    ステートメントから返される通常の結果セットに加えて、ステートメントの実行後に各ステートメントの実行情報を返します。両方の SET ステートメント オプションとも、テキスト形式の出力を提供します。SET SHOWPLAN_ALL ON と SET STATISTICS PROFILE ON の相違点は、SET STATISTICS PROFILE ON では Transact-SQL ステートメントまたはバッチが実行されることです。SET STATISTICS PROFILE ON の出力には、さまざまな操作によって処理された実際の行数や、操作の実際の実行回数についての情報も含まれています。詳細については、「SET STATISTICS PROFILE (Transact-SQL)」を参照してください。
  • SET STATISTICS IO ON
    ステートメントの実行後に Transact-SQL ステートメントによって生成されるディスク利用状況に関する情報を表示します。この SET オプションでは、テキスト形式の出力が生成されます。詳細については、「SET STATISTICS IO (Transact-SQL)」を参照してください。
  • SET STATISTICS TIME ON
    ステートメントの実行後、各 Transact-SQL ステートメントの解析、コンパイル、および実行に必要な時間をミリ秒単位で表示します。この SET オプションでは、テキスト形式の出力が生成されます。詳細については、「SET STATISTICS TIME (Transact-SQL)」を参照してください。

プラン表示 SET ステートメント オプションの使用に関する検討事項

SHOWPLAN SET オプションを使用して実行プランを表示するとき、サーバーに送信するステートメントは実行されません。代わりに、SQL Server がクエリを分析し、どのようにステートメントが実行されるかを一連の操作として表示します。

ms180765.note(ja-jp,SQL.90).gifメモ :
実行プランを表示するときにステートメントが実行されないため、Transact-SQL 操作は実際には実行されません。したがって、たとえば CREATE TABLE ステートメントが実行プランの一部である場合、テーブルが存在しないため、"作成した" テーブルに関する操作を後で行うと、エラーが返されます。ただし、このルールには 2 つの例外があります。まず、SHOWPLAN SET オプションを使用した場合は、一時テーブルが作成されます。また、USE db_name ステートメントが実行され、SHOWPLAN SET オプションの使用時に指定した db_name にデータベース コンテキストを変更する試みが行われます。

STATISTICS SET オプションを使用して実行プランを表示するとき、サーバーに送信する Transact-SQL ステートメントは実行されます。

ms180765.note(ja-jp,SQL.90).gifメモ :
プラン表示 SET オプションでは、暗号化されたストアド プロシージャまたはトリガに関する情報は表示されません。

今後のプラン表示バージョンで廃止予定の SET オプション

SQL Server の今後のバージョンでは、次のプラン表示 SET オプションは廃止される予定です。できるだけ早く新しいモードに移行することをお勧めします。次の表は、廃止予定のプラン表示 SET オプションと、ユーザーが使用を開始する必要のある新しい SET オプションを示しています。

廃止予定の SET オプション 使用する新しい SET オプション

SET SHOWPLAN_TEXT

SET SHOWPLAN_XML

SET SHOWPLAN_ALL

SET SHOWPLAN_XML

SET STATISTICS PROFILE

SET STATISTICS XML

参照

概念

プラン表示のセキュリティ
XML プラン表示
Showplan を生成する Transact-SQL ステートメント
論理操作と物理操作のリファレンス

ヘルプおよび情報

SQL Server 2005 の参考資料の入手