當前位置:首頁文章首頁 IT學院 IT技術

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

作者:  來源:  發(fā)布時間:2011-5-20 15:30:27  點擊:

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

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

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

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

而是要針對所有值進行計算之后才能再比較

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

如果col1是數(shù)值型

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

則前者效率更高

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

引擎需要把兩者都轉(zhuǎ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)化器一般會使用全表掃描

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z