程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQLSERVER中得到執行計劃的兩種方式

SQLSERVER中得到執行計劃的兩種方式

編輯:更多數據庫知識

得到執行計劃的方式有兩種
1、一種是在指令的前面打開一些開關,讓執行計劃信息打在結果集裡,這種方法比較適合在一個測試環境裡對單個語句調優。
這些開關最常用的有
復制代碼 代碼如下:
SET SHOWPLAN_ALL ON
SET SHOWPLAN_ALL ON --(是不是reuse了一個執行計劃,SQSERVERL有沒有覺得缺少索引),只能在XML的輸出裡看到
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裡,這種結果可以用圖形的方式顯示執行計劃以及其相關的信息。

對執行計劃比較簡單的語句,這樣的輸出方式可能比較友善。但是對於復雜的執行計劃,如果用圖形的方式顯示,一個屏幕很難全放得下, 每一步的統計信息要鼠標點到才會顯示出來,個人覺得不如文本輸出格式易讀性好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved