使用 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 |