通過使用Showplan SET選項執行優化
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 語句,由於不存在所涉及的建立的表,因此任何隨後涉及該表的操作都將返回錯誤。但是,此規則有兩種例外情況:使用 SHOWPLAN SET 選項時建立臨時表;使用 SHOWPLAN SET 選項時執行 USE db_name 語句並嘗試將資料庫上下文更改為指定的 db_name。
使用 STATISTICS SET 選項顯示執行計劃時,執行向伺服器提交的 Transact-SQL 語句。
注意:
Showplan SET 選項不顯示有關加密儲存過程或觸發器的資訊。
在未來的 Showplan 版本中計劃不推薦使用的 SET 選項
在未來的 SQL Server 版本中,將不推薦使用下列 Showplan SET 選項。建議使用者儘快學會使用較新的模式。下表列出了計劃不推薦使用的 Showplan SET 選項和使用者應開始使用的新 SET 選項。
不推薦使用的 SET 選項 使用新的 SET 選項
SET SHOWPLAN_TEXT
SET SHOWPLAN_XML
SET SHOWPLAN_ALL
SET SHOWPLAN_XML
SET STATISTICS PROFILE
SET STATISTICS XML
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-520801/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通過分割槽進行優化(轉)優化
- 通過分析SQL語句的執行計劃優化SQL 二SQL優化
- 通過分析SQL語句的執行計劃優化SQL(總結)SQL優化
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- 使用 Eager Execution 編碼並執行圖表:以通過 RevNet 優化程式碼為例優化
- 選擇優化選項的方案優化
- Linux通過shell執行自動化部署Linux
- 通過雜湊聯接進行高階優化優化
- 使用執行緒池優化多執行緒程式設計執行緒優化程式設計
- fn project 執行時配置選項Project
- 優雅通過HttpClientFactory使用HttpClientHTTPclient
- 通過新增條件優化SQL優化SQL
- 深入淺出執行緒池+高階選項的使用執行緒
- 使用leading(,)優化sql執行計劃優化SQL
- 關於mysql執行效率優化注意事項及要點MySql優化
- 通過點陣圖篩選優化資料倉儲查詢效能優化
- 通過micrometer實時監控執行緒池的各項指標執行緒指標
- 通過hint push_subq優化sql優化SQL
- 【優化】Oracle 執行計劃優化Oracle
- 06、MySQL Case-通過optimizer_trace看優化器行為MySql優化
- 通過ADDM進行SQL調優SQL
- oracle 通過statspace 進行效能調優Oracle
- 【譯】使用Set使你的程式碼執行更快
- 以scott使用者執行set autotrace 出錯
- SQL SERVER 日期相關性優化選項SQLServer優化
- MySQL中UPDATE語句裡SET後使用AND的執行過程和結果分析MySql
- c#通過反射動態執行類的例項及靜態方法C#反射
- 通過 Redis 定時執行指令碼Redis指令碼
- Roundcube 1.2.2:通過郵件執行命令
- 通過API執行AutoCAD命令來…API
- 通過 HelloWorld 瞭解 Java 程式執行過程以及執行時記憶體Java記憶體
- 【優化】ORACLE set autotrace in SQL*Plus優化OracleSQL
- 轉摘_使用leading(,)優化sql執行計劃優化SQL
- 通過Scope Hoisting優化Webpack輸出優化Web
- CUDA優化之執行配置和暫存器優化優化
- C# 通過ServiceStack 操作Redis——Set型別的使用及示例C#Redis型別
- spark job執行引數優化Spark優化
- 【優化】ORACLE執行計劃分析優化Oracle