SQLSERVER中得到執行計劃的方式
SQLSERVER中得到執行計劃的方式
得到執行計劃的方式有兩種:
1、一種是在指令的前面開啟一些開關,讓執行計劃資訊打在結果集裡,這種方法比較適合在一個測試環境裡對單個語句調優。
這些開關最常用的有
1 SET SHOWPLAN_ALL ON2 3 SET SHOWPLAN_ALL ON --(是不是reuse了一個執行計劃,SQSERVERL有沒有覺得缺少索引),只能在XML的輸出裡看到4 5 SET STATISTICS PROFILE ON
還有如果使用SSMS的話,可以用快捷鍵:Ctrl+L 小寫L 他會執行你的語句並顯示執行計劃,但是不會返回結果集
2、另一種方法是使用SQL Trace裡的事件跟蹤來跟蹤語句的執行計劃。
常用的事件有 :SHOWPLAN ALL、SHOWPLAN STATISTICS PROFILE、SHOWPLAN XML STATISTICS PROFILE
這種方法的好處是無須開啟任何開關,可以用來直接跟蹤應用程式的語句執行。
缺點是他會把所有語句都抓下來。如果SQLSERVER比較忙的話,輸出會很大,有可能影響效能,所以要慎用
這兩種方法收集的資訊大部分是一樣的。XML的方式會將結果以XML的結構返回,在SQL Trace裡,這種結果可以用圖形的方式顯示執行計劃以及其相關的資訊。
對執行計劃比較簡單的語句,這樣的輸出方式可能比較友善。但是對於複雜的執行計劃,如果用圖形的方式顯示,一個螢幕很難全放得下,
每一步的統計資訊要滑鼠點到才會顯示出來,個人覺得不如文字輸出格式易讀性好。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2800534/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sqlserver執行計劃中表的四種連線方式SQLServer
- 在Oracle中,如何得到真實的執行計劃?Oracle
- SqlServer的執行計劃如何分析?SQLServer
- 怎樣得到準確的執行計劃
- 獲取SQL執行計劃的方式:SQL
- 看懂Oracle中的執行計劃Oracle
- 透過shell指令碼來得到不穩定的執行計劃指令碼
- 通過shell指令碼來得到不穩定的執行計劃指令碼
- oracle中執行計劃中的cardinalityOracle
- SQL Server之旅(11):簡單說說sqlserver的執行計劃SQLServer
- MySQL中in(常量列表)的執行計劃MySql
- sql執行計劃變更和刪除快取中執行計劃的方法SQL快取
- AWR報告的收集和分析執行計劃的方式
- 執行計劃-1:獲取執行計劃
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- oracle中開啟執行計劃Oracle
- 【最佳化】explain plan for 方式存取執行計劃AI
- 執行計劃中cost, card的含義
- 【執行計劃】資料訪問方式,連線方式及方法
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- 【Oracle】-【索引-HINT,執行計劃】-帶HINT的索引執行計劃Oracle索引
- 分析執行計劃最佳化SQLORACLE的執行計劃(轉)SQLOracle
- 執行計劃
- 計算表掃描中執行計劃的COST
- SQL的執行計劃SQL
- 執行計劃的理解.
- Oracle的執行計劃及資料存取方式 (ROWID,掃描方式等)Oracle
- 資料庫執行計劃和資料存取方式資料庫
- (4) MySQL中EXPLAIN執行計劃分析MySqlAI
- MySql中執行計劃如何來的——Optimizer TraceMySql
- Sql Server之旅——第十一站 簡單說說sqlserver的執行計劃SQLServer
- 關於執行計劃中的%CPU的含義
- oracle sqlprofile 固定執行計劃,並遷移執行計劃OracleSQL
- 【sql調優之執行計劃】獲取執行計劃SQL
- SYBASE執行計劃
- MySQL 執行計劃MySql
- MySQL執行計劃MySql
- sql 執行計劃SQL