萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> 一次SQL Server調優經歷

一次SQL Server調優經歷

   前段時間數據庫健康檢查發現SQL Server服務器的idle時間變少,IO還是比較空閒,估計是遇到了高CPU占用的語句了。

  介紹一下背景,我們公司負責運維N多的應有系統,負責提供良好的軟、硬件環境,至於應用的開發質量,我們就無能為力了

  解決這個問題,我的思路是:

  找出CPU占用最大的語句。

  分析查詢計劃。

  優化。

  1、找出語句

  使用SQL Server自帶的性能報表(不是報表服務),找出CPU占用最大的語句。如圖1所示

一次SQL Server調優經歷 三聯

  圖1 性能報表

  我選取了“性能-按總CPU時間排在前面的查詢”,得出以下兩張報表,如圖2所示:

  圖2 性能-按總CPU時間排在前面的查詢

  在報表中不能直接把語句Copy出來,非得讓我另存為Excel才能Copy語句;而且經常標示不了是語句屬於哪個數據庫,不爽 :( 。

  費了我九牛二虎之力才找出該條語句在哪個數據庫執行,然後馬上備份數據庫,在另一個非生產數據庫上面還原,創造實驗環境。

  廢話少說,我把語句Copy出來,順便整理了一下格式。如下:

雙擊代碼全選 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 select* fromnetwork_listen where node_codein   (   selectdistinctnode_code
copyright © 萬盛學電腦網 all rights reserved