当SQL语句需要UNION两个查询结果集合时,这两个结果集合会以UNION-ALL的方式被合并, 然后在输出最终结果前进行排序.

如果用UNION ALL替代UNION, 这样排序就不是必要了. 效率就会因此得到提高.

举例:

低效:

    SELECT ACCT_NUM, BALANCE_AMT

FROM DEBIT_TRANSACTIONS

WHERE TRAN_DATE = ’31-DEC-95’

UNION

SELECT ACCT_NUM, BALANCE_AMT

FROM DEBIT_TRANSACTIONS

WHERE TRAN_DATE = ’31-DEC-95’

高效:

SELECT ACCT_NUM, BALANCE_AMT

FROM DEBIT_TRANSACTIONS

WHERE TRAN_DATE = ’31-DEC-95’

UNION ALL

SELECT ACCT_NUM, BALANCE_AMT

FROM DEBIT_TRANSACTIONS

WHERE TRAN_DATE = ’31-DEC-95’

 

需要注意的是,UNION ALL 将重复输出两个结果集合中相同记录. 因此各位还是

要从业务需求分析使用UNION ALL的可行性.

UNION 将对结果集合排序,这个操作会使用到SORT_AREA_SIZE这块内存. 对于这

块内存的优化也是相当重要的. 下面的SQL可以用来查询排序的消耗量

Select substr(name,1,25)  "Sort Area Name",

   substr(value,1,15)   "Value"

from v$sysstat

where name like 'sort%'

转载于:https://www.cnblogs.com/fanweisheng/p/11125361.html

oracle用UNION-ALL 替换UNION ( 如果有可能的话)相关推荐

  1. oracle union all写法,【oracle】-集合运算:UNION,UNION ALL...

    在Oracle中提供了三种类型的集合操作: 并(UNION).交(INTERSECT).差(MINUS) UNION:求并,重复记录只显示一次. UNION ALL:求并集,显示所有记录信息. INT ...

  2. MongoDB查询实现 笛卡尔积,Union All 和Union 功能

    转载自   MongoDB查询实现 笛卡尔积,Union All 和Union 功能 此篇文章及以后的文章大部分都是从聚合管道(aggregation pipeline)的一些语法为基础讲解的,如果不 ...

  3. 关于UNION ALL与 UNION 用法和区别

    (转自:http://www.cnblogs.com/EricaMIN1987_IT/archive/2011/01/20/1940188.html) UNION指令的目的是将两个SQL语句的结果合并 ...

  4. UNION ALL vs UNION

    UNION ALL vs UNION 一直没意识到它们之间的区别,只知道UNION ALL在性能上优于UNION,忽略一个很重要的区别: UNION会去掉重复的行,而UNION ALL是包括所有行. ...

  5. UNION ALL用法 以及 UNION ALL和UNION的区别

    部分参考自文章: https://blog.csdn.net/a200822146085/article/details/119545374(CC 4.0 BY-SA版权协议)CSDN「我心依依旧」 ...

  6. UNION ALL 和 UNION 的区别

    UNION ALL 和 UNION 的区别 UNION:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序. UNION ALL:对两个结果集进行并集操作,包括重复行,不进行排序.

  7. union all和union的区别

    union all和union的区别就在于成效,union是在针对数据进行合并整理的同时不会整理重复行,并且还会采取默认排序.而union all在整理数据的时候,会将重复行也一起整理,但是不会重新排 ...

  8. union all 和 union

    一.结果集允许重复的话,尽量用 union all 代替 union [union]不管检索结果有没有重复,都会尝试进行合并,然后在输出最终结果前进行排序.过滤操作,增加大量的 CPU 运算,加大资源 ...

  9. mybatis中union all与union的用法

    1.需求分析 很多情况下,我们会遇到类似的需求:混合型的列表再进行分类:这种情况,可以考虑java逻辑层面两个甚至更多的list相加,然后最后进行排序,但是一旦进行分页,排序可能就混乱了,这个笔者建议 ...

  10. oracle union wher,sql – UNION with WHERE子句

    在我的经验中,Oracle非常善于推动简单的谓词.以下测试在Oracle 11.2上进行.我相当确定它在所有版本的10g上也生成相同的执行计划. (请人,如果你运行较早的版本,并尝试以下,请随意留下评 ...

最新文章

  1. syslog打印不带等级_printk的日志级别和控制台级别
  2. unittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理
  3. 标题在图表上_从零开始学Excel——标题和图例的设置(143)
  4. 计算机应用属不属于科技股,哪些股票属于科技股
  5. dns 服务器无法从应用程序目录分区,DNS 区域不随事件 4000 和 4007 一起加载 - Windows Server | Microsoft Docs...
  6. 安卓进阶系列-06数据库框架(LitePal)的使用
  7. js动态添加meta标签
  8. erlang 编译 安装
  9. Solaris 网络 配置
  10. OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)
  11. mybatis 中collection中需要 open close separator
  12. 加速VS2005 or VS2008
  13. .net core 中使用httpclient下载文件
  14. math_Taylor_常见幂级数展开
  15. 【教程】无需下载任何软件,使win10任务栏完全透明!
  16. 光纤传输技术——光器件(三)
  17. 在Windows Server 2003企业版下让移动硬盘自动显示盘符
  18. (Android) 如何使用HOOK实现动态注入以及自动化操作
  19. 计算机图形学复习笔记
  20. 2021年电影市场票房波动模型分析思路及参考代码

热门文章

  1. 有趣的mysql string和0比较返回1的问题
  2. nodejs的一些日常操作
  3. 1002:A+B 输入输出练习III 分数: 2
  4. 金蝶ERP实现产品入库及委外加工冲减生产现场虚仓毛坯数(修正版07-05-10)
  5. [导入]警告:不能将项目“project”中的依赖项“file”复制到运行目录,因为它将改写引用“file”。...
  6. 再见了SpringMVC!这个框架有点厉害,甚至干掉了Servlet!
  7. 分库分表 PK NewSQL数据库!
  8. 一行代码让纯文本编辑器秒变 Markdown 编辑器
  9. 微服务架构实战(二):使用API Gateway
  10. 微服务与架构师的个人见解