面對被存放在 SQL Server 中的 Legacy Stored Procedures 這群洪水猛獸,遇到它們比遇到 Legacy C# Code 還讓人感覺無力,一方面是之前寫的人對 SQL 語句有自己的幻想,另一方面是要公司買維護工具給大家用比登天還難,今天在 Tune 一段 SQL 查詢語句時,讓我想起以前共事的 DBA 有表演過叫 SQL Server 分析查詢語句,然後提出改善建議的工具,就是它 - Database Engine Tuning Advisor。
選擇一段 SQL 語句
叫出 Database Engine Tuning Advisor 的方法很簡單,先從查詢視窗選取一段 SQL 語句。
開啟 Database Engine Tuning Advisor
接著按右鍵,找到 在 Database Engine Tuning Advisor 中分析查詢(G)
。
輸入帳號密碼登入資料庫之後,就會開啟 Database Engine Tuning Advisor,可以看到左上角它已經自動幫我們建立了一個工作階段,而且該有的設定都幫我們設好了。
按下 開始分析
等待一會兒之後就會出現 建議
的頁籤,裡面就會有改進建議,以 索引建議
這個區塊來看,點擊一下 定義
這個欄位,還會出現建立索引的指令碼,相當方便。
在執行完這個分析,並套用建議之後,原本在 Tune 的 SQL 查詢語句快了一倍,「唯有不斷地挑戰,才有跨越艱難的可能。」,千萬不要放棄。