當(dāng)前位置: 首頁IT技術(shù) → 優(yōu)化Sql語句時需要注意到的問題

優(yōu)化Sql語句時需要注意到的問題

更多

這篇文章提供給大家分享,是作者個人的看法,但是對于優(yōu)化SQL語句確實是尤為重要的,下面是所需要注意到的4段,希望對大家有所幫助。

1.盡量不要對列名進(jìn)行函數(shù)處理。而是針對后面的值進(jìn)行處理

例如where col1 = -5的效率比where -col1=5的效率要高

因為后面的條件對列值進(jìn)行了計算。這樣的條件下優(yōu)化器無法使用索引

而是要針對所有值進(jìn)行計算之后才能再比較

2.盡量使用和數(shù)劇列一樣的值進(jìn)行操作

如果col1是數(shù)值型

那么例如where col1 = 2和where col1= ‘2′

則前者效率更高

因為比較字符和數(shù)值型的時候

引擎需要把兩者都轉(zhuǎn)化成雙精度然后進(jìn)行比較

3.減少函數(shù)的使用

例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′

和where datediff(day,col1,getdate())=0

后者因為用到函數(shù)處理。所以col1上的索引又無法使用了

4.盡量不要用OR

一般對于OR的條件

優(yōu)化器一般會使用全表掃描

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)