使用 Showplan SET 選項來顯示執行計畫 (Transact-SQL)

用以顯示執行計畫資訊的 Transact-SQL SET 陳述式選項會以 XML 和文字產生輸出。此主題列出並說明這些選項。

Showplan SET 陳述式選項

Transact-SQL 會將下列選項提供給其 SET 陳述式,讓您能顯示查詢執行計畫:

[!附註]

SHOWPLAN_XML、SHOWPLAN_ALL 和 SHOWPLAN_TEXT SET 選項會為每個批次產生一個資料列集。STATISTICS XML 和 STATISTICS PROFILE SET 選項會為批次中的每個查詢產生一個資料列集。

  • 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 選項會執行 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 選項會執行 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)>。

使用 Showplan SET 陳述式選項的考量

當您使用 SHOWPLAN SET 選項來顯示執行計畫時,不會執行您提交到伺服器的陳述式。SQL Server 會分析查詢,並以一系列的運算子來顯示如何執行陳述式。

[!附註]

因為顯示執行計畫時並未執行陳述式,所以不會實際執行 Transact-SQL 作業。例如,若 CREATE TABLE 陳述式為執行計畫的一部份,則之後任何關於 "created" 資料表的作業都會傳回錯誤,因為該資料表並不存在。不過,這個規則有兩個例外狀況:暫存資料表是在使用 SHOWPLAN SET 選項時所建立;或是在使用 SHOWPLAN SET 選項時執行 USE db_name 陳述式,並嘗試將資料庫內容變更為指定的 db_name。

當您使用 STATISTICS SET 選項來顯示執行計畫時,會執行您提交到伺服器的 Transact-SQL 陳述式。

[!附註]

Showplan SET 選項不會顯示加密預存程序或觸發程序的相關資訊。

在未來的 Showplan 版本中,針對 Deprecation 排程的 SET 選項

在未來的 SQL Server 版本中,會取代下列 Showplan SET 選項。建議使用者儘快移到較新的模式。下表列出針對 Deprecation 排程的 Showplan SET 選項,以及使用者應開始使用的新 SET 選項。

取代的 SET 選項

使用新 SET 選項

SET SHOWPLAN_TEXT

SET SHOWPLAN_XML

SET SHOWPLAN_ALL

SET SHOWPLAN_XML

SET STATISTICS PROFILE

SET STATISTICS XML