Sql語句優(yōu)化注意
Sql語句的優(yōu)化是Sql語句的升級(jí),帶來了Sql語句的發(fā)展進(jìn)步,那么下文中將為大家介紹Sql語句優(yōu)化注意的方面。
1.盡量不要對(duì)列名進(jìn)行函數(shù)處理。而是針對(duì)后面的值進(jìn)行處理
例如where col1 = -5的效率比where -col1=5的效率要高
因?yàn)楹竺娴臈l件對(duì)列值進(jìn)行了計(jì)算。這樣的條件下優(yōu)化器無法使用索引
而是要針對(duì)所有值進(jìn)行計(jì)算之后才能再比較
2.盡量使用和數(shù)劇列一樣的值進(jìn)行操作
如果col1是數(shù)值型
那么例如where col1 = 2和where col1= ‘2′
則前者效率更高
因?yàn)楸容^字符和數(shù)值型的時(shí)候
引擎需要把兩者都轉(zhuǎn)化成雙精度然后進(jìn)行比較
3.減少函數(shù)的使用
例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′
和where datediff(day,col1,getdate())=0
后者因?yàn)橛玫胶瘮?shù)處理。所以col1上的索引又無法使用了
4.盡量不要用OR
一般對(duì)于OR的條件
優(yōu)化器一般會(huì)使用全表掃描
【編輯推薦】
- 編寫和優(yōu)化SQL Server的存儲(chǔ)過程
- 優(yōu)化sql server數(shù)據(jù)庫的經(jīng)驗(yàn)總結(jié)
- 查詢參數(shù)提高SQL語句的利用率