oracle避免使用耗费资源的操作
2023-09-11 14:18:18 时间
带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎
执行耗费资源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需要执行两次排序.
例如,一个UNION查询,其中每个查询都带有GROUP BY子句, GROUP BY会触发嵌入排序(NESTED SORT) ; 这样, 每个查询需要执行一次排序, 然后在执行UNION时, 又一个唯一排序(SORT UNIQUE)操作被执行而且它只能在前面的嵌入排序结束后才能开始执行. 嵌入的排序的深度会大大影响查询的效率.
通常, 带有UNION, MINUS , INTERSECT的SQL语句都可以用其他方式重写.
如果你的数据库的SORT_AREA_SIZE调配得好, 使用UNION , MINUS, INTERSECT也是可以考虑的, 毕竟它们的可读性很强
相关文章
- 升级_开阔视野之Oracle图形化升级(dbca建库后升级)—10.2.0.1.0升为10.2.0.5.0
- silent install oracle 11.2.0.1 x86_64 for linux
- 【oracle 11G Grid 】Crsctl start cluster 和 crsctl start crs 有差别么?
- Oracle to_char 格式化时间常用参数及跟SQL完全对比
- Oracle数据库:oracle执行计划性能代价cost,全表扫描速度慢,索引扫描速度快
- Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询
- Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例
- Oracle数据库:oracle数据类型转换to_char()日期和数字转字符,to_number()字符转数字,to_date()字符转日期函数
- Oracle数据库:oracle 11g安装教程,已安装好的oracle各个文件夹的作用,oracle用户权限怎么样
- 深入Oracle优化器:一条诡异执行计划的解决之道
- [转]oracle制定定时任务(dbms_jobs)
- Oracle-未能加载文件或程序集“oracle.dataaccess”或它的某一个依赖项。试图加载格式不正确的程序。
- Oracle事务隔离级别
- oracle避免在索引列上使用IS NULL和IS NOT NULL
- oracle用NOT EXISTS替代NOT IN
- oracle加锁
- 如何实现对 Oracle 的实时数据捕获和性能调优|Flink CDC 专题
- Oracle-oracle中union和union all的区别
- Oracle学习.Windows 命令行 启动ORACLE服务与实例
- ORACLE中index的rebuild(转)
- ORACLE TM锁
- Oracle下如何用rman备份到特定的sequence
- LoadRunner调用Oracle存储过程
- 【翻译自mos文章】检查$ORACLE_HOME是否是RAC的HOME的方法以及relink RAC的Oracle binary的方法
- IT忍者神龟之 oracle行转列、列转行
- Windows中cmd命令启动Oracle数据
- 记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora