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

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

更多

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

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ì)使用全表掃描

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