SQLSERVER中得到執行計劃的方式

deeply發表於2021-09-09

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 ALLSHOWPLAN STATISTICS PROFILESHOWPLAN XML STATISTICS PROFILE

這種方法的好處是無須開啟任何開關,可以用來直接跟蹤應用程式的語句執行。

缺點是他會把所有語句都抓下來。如果SQLSERVER比較忙的話,輸出會很大,有可能影響效能,所以要慎用

 


 

這兩種方法收集的資訊大部分是一樣的。XML的方式會將結果以XML的結構返回,在SQL Trace裡,這種結果可以用圖形的方式顯示執行計劃以及其相關的資訊。

對執行計劃比較簡單的語句,這樣的輸出方式可能比較友善。但是對於複雜的執行計劃,如果用圖形的方式顯示,一個螢幕很難全放得下,

每一步的統計資訊要滑鼠點到才會顯示出來,個人覺得不如文字輸出格式易讀性好。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2800534/,如需轉載,請註明出處,否則將追究法律責任。

相關文章