专栏首页源哥的专栏UNION 和UNION ALL 的区别

UNION 和UNION ALL 的区别

在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:

select * from gc_dfys

union

select * from ls_jg_dfys

这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。

而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:

select * from gc_dfys

union all

select * from ls_jg_dfys

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 红米是个失败,雷军是个笨蛋

    最近关于小米和华为手机的争论甚嚣尘上,我也忍不住出来写这篇文章,我想告诉大家的是,大家的说法都是错误,大家没有抓住事情的本质。

    源哥
  • 基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(8)-附录

    0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口

    源哥
  • 当联想收购IBM流产之后

    当联想收购IBM流产之后     最近美国延长对联想IBM的交易调查(看http://www.csdn.net/news/newstopic/19/19603....

    源哥
  • Jdk_API——1.8和Jdk_API1.6下载分享

    链接:https://pan.baidu.com/s/1bZKfldtqjCOsaYaT1Q9RcQ 提取码:t9ad

    泰斗贤若如
  • SQL中语句:UNION all与UNION 的用法与区别

    UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复   union 是取唯一值,记录没有重复   1、UNION 的语法如下:  ...

    学到老
  • SQL中语句:UNION all与UNION 的用法与区别

    UNION去重且排序 UNION ALL不去重不排序 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一...

    学到老
  • SQL中语句:UNION all与UNION 的用法与区别

    UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION 的语法如下: ...

    学到老
  • SQL中语句:UNION all与UNION 的用法与区别

    UNION去重且排序 UNION ALL不去重不排序 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复   union 是取唯...

    学到老
  • [Java小工匠]CSS盒子模型-概述

      在HTML文档中任何元素,都可以看作是一个盒子,因此理解盒子模型非常重要。一个盒子包含 盒子的内容、盒子内边距、盒子的边框、盒子的外边距。

    Java小工匠
  • 测度转换 (下) – 漂移项转换

    先考虑一个在 P 测度下的标准正态随机变量 X1 ~ N(0, 1) 和 X2 ~ N(-μ, 1),令事件 A = {a ≤ X ≤ y},我们可写出 X1 ...

    用户5753894

扫码关注云+社区

领取腾讯云代金券