看到一篇文章是讲sql语句or与union all的执行效率比较的,以前没怎么注意这个问题,感觉文章写的不错,转来一看。

文章原链接:http://www.cunyoulu.com/zhuanti/qtstudy/20081124orunion.htm

sql语句or与union all的执行效率比较

当SQL语句有多个or语句时,可以考虑使用union或者union all代替来提高速度。使用or的SQL语句往往无法进行优化,导致速度变慢。但这不是固定的,有时候使用or速度会更快些。具体情况还要经过测试为准。如果加索引的话,也可能实现速度优化。

实验表格如下,实际数据有2,000,000条,从里面返回大约最多1000行左右的数据。

X Y Inline CDP T
12002400 5801000 300 300 3400
12002408 5801005 300 301 3402
12002416 5801010 300 302 3404
12002424 5801015 300 303 3406
... ... ... ... ...

or语句(部分节选)

SELECT * FROM tablename where (cdp= 300 and inline=301) or (cdp= 301 and inline=301) or (cdp= 302 and inline=301) or (cdp= 303 and inline=301) or (cdp= 304 and inline=301) or (cdp= 305 and inline=301) or (cdp= 306 and inline=301) or (cdp= 307 and inline=301)

union all语句(部分节选)

SELECT * FROM tablename where (inline= 300 and cdp=300) union all SELECT * FROM tablename where (inline= 301 and cdp=300) union all SELECT * FROM tablename where (inline= 302 and cdp=300) union all SELECT * FROM tablename where (inline= 303 and cdp=300)

返回不规则的900条数据,前者用了60多秒,后者用了8秒左右。

最新文章

  1. My97DatePicker时间控件在项目中的应用
  2. Total Commander 8.52 Beta 1
  3. 谷歌Java编程规范
  4. iOS 阶段学习第24天笔记(Block的介绍)
  5. Unity3D入门基本概念整理
  6. jQuery循环滚动新闻列表
  7. 总结:常用的Linux系统监控命令
  8. JavaScript 的原型对象 Prototype
  9. codility上的问题 (19)Sigma 2012
  10. 【原创】重绘winform的GroupBox
  11. 世纪互联、微软Azure与无穷小微积分
  12. h5video标签
  13. 轻量级文本编辑器,Notepad最佳替代品:Notepad++
  14. 如何安装Pycharm官方统计代码行插件
  15. 14.不同条目的listview
  16. 【repost】H5总结
  17. day11 filter函数
  18. HTML5规范尘埃落定,5个开发工具推荐
  19. oracle自定义类型 示例
  20. [LOJ2541][PKUWC2018]猎人杀(容斥+分治+FFT)

热门文章

  1. 【原】结构体包含CString类型成员变量出错的原理
  2. Android网络编程基础
  3. 五种创建UIImage的类方法
  4. java集合 之 Collection和Iterator接口
  5. 敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则
  6. Oracle SQL Developer连接报错(ORA-12505)
  7. Effective Java 75 Consider using a custom serialized form
  8. MySQL 如何修改字符集 utf8 改为 utf8mb4
  9. 烂泥:U盘安装Centos6.5
  10. 续Gulp使用入门三步压缩CSS