优化SQL语句必须注意的几点
2010-06-23 21:59
239 查看
1.尽量不要对列名进行函数处理。而是针对后面的值进行处理
例如where col1 = -5的效率比where -col1=5的效率要高
因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引
而是要针对所有值进行计算之后才能再比较
2.尽量使用和数剧列一样的值进行操作
如果col1是数值型
那么例如where col1 = 2和where col1= ‘2′
则前者效率更高
因为比较字符和数值型的时候
引擎需要把两者都转化成双精度然后进行比较
3.减少函数的使用
例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′
和where datediff(day,col1,getdate())=0
后者因为用到函数处理。所以col1上的索引又无法使用了
4.尽量不要用OR
一般对于OR的条件
优化器一般会使用全表扫描
例如where col1 = -5的效率比where -col1=5的效率要高
因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引
而是要针对所有值进行计算之后才能再比较
2.尽量使用和数剧列一样的值进行操作
如果col1是数值型
那么例如where col1 = 2和where col1= ‘2′
则前者效率更高
因为比较字符和数值型的时候
引擎需要把两者都转化成双精度然后进行比较
3.减少函数的使用
例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′
和where datediff(day,col1,getdate())=0
后者因为用到函数处理。所以col1上的索引又无法使用了
4.尽量不要用OR
一般对于OR的条件
优化器一般会使用全表扫描
相关文章推荐
- 优化SQL语句必须注意的几点
- sql查询语句优化需要注意的几点
- ACCESS中使用SQL语句应注意的地方及几点技巧
- 必须掌握的30种SQL语句优化
- sql语句优化注意的问题
- ACCESS中使用SQL语句应注意的地方及几点技巧
- Sql语句优化注意
- ACCESS中使用SQL语句应注意的地方、与sql server的区别及几点技巧(整理中)
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方、与sql server的区别及几点技巧(整理中)
- 必须掌握的30种SQL语句优化
- ACCESS中使用SQL语句应注意的地方及几点技巧
- 子查询注意这几点, 就可以写出好的sql语句
- 作为开发者必须掌握的mysql操作sql语句优化 - show processlist and explain
- 项目中在写ibatis中的sql语句时的几点注意事项:
- ACCESS中使用SQL语句应注意的地方、与sql server的区别及几点技巧(整理中)
- ACCESS中使用SQL语句应注意的地方及几点技巧
- ACCESS中使用SQL语句应注意的地方及几点技巧
- 必须掌握的30种SQL语句优化
- 必须掌握的30种SQL语句优化