1. 程式人生 > >Sql server 2008查詢效能優化學習筆記一

Sql server 2008查詢效能優化學習筆記一

一、在調整過程中,必須檢查各種可能影響基於Sqlserver的應用程式效能的硬體和軟體因素。你應該在效能分析中問自己以下的問題:

1.相同伺服器上有沒有執行其他的資源密集型應用?

2.硬體子系統是否能承受最大的工作負荷?

3.Sql server 是否被正確配置?

4.Sql server 和資料庫應用之間的資料庫連線是否有效?

5.資料庫設定是否支援最快的資料檢索

6.由sql查詢組成的使用者工作負載是否優化以減少Sqlserver上的負載?

7.在各種等待狀態的測量中反映出哪個程序導致系統的減慢?

8.工作負載是否支援最大的併發性?

例:不建議在伺服器上連續執行Windows工作管理員。工作管理員也是一個應用程式--taskmgr.exe,它執行在比sqlserver程序更高的優先順序。優先順序是給予一個資源的權重,使處理器在執行時給它更多的的優先權。

二、Sqlserver 效能殺手

       在已經優化了硬體、作業系統和Sqlserver設定的情況下,Sql Server中的效能殺手按照粗略的順序排列如下:

1.低質量的索引

2.不精確的統計

3.過多的用阻塞和死鎖

4.不基於資料集的操作,通常是T-sql遊標

5.低質量的查詢設計

6.低質量的資料庫設計

7.過多的碎片

8.不可重用的執行計劃

9.低質量的執行計劃,通常是因為引數嗅探(parameter sniffing)所導致的

10.執行計劃頻繁重編譯

11.遊標的錯誤使用

12.資料庫日誌的錯誤配置

13.過多使用或者錯誤配置tempdb