Sql语句优化注意
1.尽量不要对列名进行函数处理.而是针对后面的值进行处理 例如where col1 = -5的效率比where -...
扫描右侧二维码阅读全文
27
2009/10

Sql语句优化注意

1.尽量不要对列名进行函数处理.而是针对后面的值进行处理
例如where col1 = -5的效率比where -col1=5的效率要高
因为后面的条件对列值进行了计算.这样的条件下优化器无法使用索引
而是要针对所有值进行计算之后才能再比较

2.尽量使用和数剧列一样的值进行操作
如果col1是数值型
那么例如where col1 = 2和where col1= '2'
则前者效率更高
因为比较字符和数值型的时候
引擎需要把两者都转化成双精度然后进行比较
这样col1上的索引就失去作用了

3.减少函数的使用
例如where col1 >= '2009-10-26' and col1 <= '2009-10-27'
和where datediff(day,col1,getdate())=0
后者因为用到函数处理.所以col1上的索引又无法使用了

4.尽量不要用OR
一般对于OR的条件
优化器一般会使用全表扫描

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

3 comments

  1. junstyle

    平时还没怎么注意~,菜鸟路过~

  2. Euy

    学习了

  3. c1g

    第二项加上单引号效率低点是真的,但索引不会失效

Leave a Comment