热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化SQL语句需要注意的4点

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

  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的条件

  优化器一般会使用全表扫描

 


推荐阅读
author-avatar
淡淡很淡淡真淡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有