SQL Server性能優化

代碼文件sql

 

1,什麼是性能問題?數據庫

現有資源沒有達到最大吞吐量的前提下,系統不能知足合理的預期表現,則能夠定義爲有性能問題。性能指標包括:響應時間,吞吐量,可擴展性。性能

 

2,初探優化優化

2.1優化論url

通常遇到2種性能問題:server

  1),某個功能很慢,或者忽然變慢,好比某個存儲過程、查詢等。htm

  2),整個系統很慢。對象

第一種狀況下,對象比較明確,因此處理起來相對輕鬆。大部分狀況下,只須要研究執行計劃就能夠解決絕大部分問題。經過改變查詢、調整表結構(索引等)。就能夠起到明顯的效果。blog

第二種狀況下,對象不明確,首先須要定位瓶頸。能夠經過性能計數器,sql profiler/sql trace, ExtendedEvents(sql server 2008) ,進行彙總分析。而後定位瓶頸。索引

2.2 定義問題

2.2.2經過對性能數據進行分類。處理完成後,進行深度分析,總結匯總。

  1), 分析數據庫實例級別的等待。使用性能計數器、sql profiler進行監控。

   6), 優化索引/查詢: a,改進代碼:用cte等代替遊標查詢。

關鍵字: 
SARG : SARG(Searchable Arguments操做,由於它一般是指一個特定的匹配,一個值得範圍內的匹配或者兩個以上條件的AND鏈接。

1,通配符%在字符串的開通使得索引沒法使用。     name like ‘%張’,就不屬於SARG。

2,or會引發全表掃描。                   Name=’張三’ or 價格>5000 則不符合SARG。

3,IN 至關與OR 

4,用union在一般狀況下比用or的效率要高的多。

5, 必定要避免select無用字段。

6,經過分頁等來

SARG:http://baike.baidu.com/link?url=7ZXayDrpukcblTpbT45lMprJYMf5LS89cDodSkxa08xbt3sppuIvUf_0CAqEvucbzUPjQKqTXPMSeEkG7kGf3q 

相關文章
相關標籤/搜索