Sql server 2008查詢效能優化學習筆記一
阿新 • • 發佈:2019-01-07
一、在調整過程中,必須檢查各種可能影響基於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