in、or与union all的性能对比

原创 2012年12月26日 15:05:11

in、or与union all的性能对比

对于某大表的查询

使用or:
SELECT * FROM article
WHERE article_category=2
OR article_category=3
// 执行时间:11.0777

使用 in:
SELECT * FROM article
WHERE article_category IN (2,3)
// 执行时间:11.2850

使用union all:
SELECT * FROM article
WHERE article_category=2
UNION ALL
SELECT * FROM article
WHERE article_category=3
// 执行时间:0.0261

 

总之,性能上union all的方式完胜,但是网上说并不总是这样,目前尚未发现对索引列或非索引列这样查询时的例外情况,希望大家参与讨论

UNION, UNION ALL的简单分析:

UNION, UNION ALL 指令的目的是将两个 SQL语句的结果合并起来。从这个角度来看, UNION JOIN 有些类似,因为这两个指令都可以由多个表格中撷取资料。UNION UNION  ALL 不同之处在于前者会过滤掉相同的数据而后者会将符合条件的数据都列出来,无论数据值有无重复。

 

UNION 的语法如下:

[SQL 语句 1] UNION [SQL语句 2]

UNION ALL 的语法如下:

[SQL 语句 1] UNION ALL [SQL语句 2]

值得注意的是UNION, UNION ALL的一个限制是两个 SQL 语句所产生的栏位需要是同样的数据种类。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

看到一篇文章是讲sql语句or与union all的执行效率比较的,以前没怎么注意这个问题,感觉文章写的不错,转来一看。文章原链接:http://www.cunyoulu.com/zhuanti/qt...

oracle :性能优化的一个案例

一.通过top命令看CPU的利用率: #top 以下是TOP的结果:last pid: 11225;  load averages:  7.95,  6.63,  6.25   17:19:35273...
  • yuwan
  • yuwan
  • 2004-07-09 12:59
  • 2543

今天申请回公司

医院的基本医疗已经启动,到目前为止运行正常,本人已经出来半年之久,这边的剩下事情有另一同事处理。 早上打电话给公司,说明意思,公司说看了工作总结再给我回话,现在都下午了还没有回应!    等。。。。。...
  • yuwan
  • yuwan
  • 2004-07-26 14:46
  • 787

买衣服

昨天下午或者傍晚吧,终于决定和同事一起出去买衣服了! 从公司出来的时候天还冷的很,穿的是毛衣毛裤,现在天天都30多度。出来的时候就带了一身夏天的衣服,一个体恤,一个衬衣,衬衣不喜欢穿,所以就天天穿体恤...
  • yuwan
  • yuwan
  • 2004-07-23 11:28
  • 1436

oracle 部分函数

SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from...
  • yuwan
  • yuwan
  • 2004-07-25 15:05
  • 890

优化案例4----错误的大表走HASH+并行----->正确的走Nested loop

谈到大表与大表之间的连接方式,总会下意识的选择走HASH JOIN+并行效率才高,其实具体情况必须具体问题,在有的时候,大表走嵌套循环的效率要优于走HASH JOIN,下面就用我之前优化过的一个案例来...

一次SQL优化分析的全过程

作者介绍:盖国强,曾任ITPUB MS 版版主,现任Oracle 数据库管理版版主。曾任职于某国家大型企业,服务于烟草行业,开发过基于Oracle 数据库的大型ERP 系统,属国家信息产业部重点工程。...
  • yuwan
  • yuwan
  • 2004-07-15 11:26
  • 1107

转贴一篇比较强的!

我以前的一个女同事暴强,每次她和她的女伴上街碰到小孩纠缠,就拽着小孩的手大步向前走,一边说跟阿姨走阿姨给你买糖吃,不一会就用大人上来把孩子抢回去了……      我在北京站等车,坐在候车室看书。一个小...
  • yuwan
  • yuwan
  • 2004-08-27 20:21
  • 755

忙碌的一个礼拜!

礼拜一到公司去报到,半年了后的第一次报到啊! 帐目还没有报完,部门经理就让出去到西安东郊去作服务。一直到下午5点30才返回。礼拜二,三两天都在户县作服务。礼拜四又被派到精神病院去做了一天的服务。礼拜五...
  • yuwan
  • yuwan
  • 2004-08-07 17:05
  • 820
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)