当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%'

最新文章

  1. Java学习笔记:控制反转
  2. linux2.6内核compat_ioctl函数
  3. Android开发技巧:像QQ一样输入表情图像
  4. android开发学习笔记:圆角的Button
  5. 开源代码——Crouton
  6. ZOJ2971 Give Me the Number 【模拟】
  7. S3C2440 TFTLCD驱动详解
  8. [原创]一种基于Python爬虫和Lucene检索的垂直搜索引擎的实现方法介绍
  9. Struts2漏洞解决
  10. 【OOM】GC overhead limit exceeded
  11. Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari
  12. SUSE12Sp3-MongoDB安装
  13. SQL语句检索数据排序及过滤
  14. 设计模式之Factory(工厂)(转)
  15. axios全局设置url公共请求头
  16. node.js express开发web问题
  17. SmartSVN has inconsistent newlines解决方法
  18. 理解metrics.classification_report
  19. kibana显示报错
  20. 洛谷.4238.[模板]多项式求逆(NTT)

热门文章

  1. 【CodeVS】2750 心系南方灾区
  2. 洛谷P1062 数列 [2017年6月计划 数论03]
  3. 在虚拟机Ubuntu14.04中设置静态ip后无法上网的问题的解决
  4. idea添加jar包
  5. LUOGU P3112 [USACO14DEC]后卫马克Guard Mark
  6. .NET EasyUI datebox添加清空功能
  7. Element UI table组件源码分析
  8. console 中的格式化打印(占位符),和样式定义
  9. 2018-12-27-WPF-从文件创建图片的方法
  10. oracle-OFA模型