`

ORACLE SQL性能优化系列 (六)

阅读更多
20. 用表连接替换EXISTS


通常来说 , 采用表连接的方式比EXISTS更有效率

SELECT ENAME

FROM EMP E

WHERE EXISTS (SELECT ‘X'

FROM DEPT

WHERE DEPT_NO = E.DEPT_NO

AND DEPT_CAT = ‘A');


(更高效)

SELECT ENAME

FROM DEPT D,EMP E

WHERE E.DEPT_NO = D.DEPT_NO

AND DEPT_CAT = ‘A' ;


(译者按: 在RBO的情况下,前者的执行路径包括FILTER,后者使用NESTED LOOP)



21. 用EXISTS替换DISTINCT

当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在SELECT子句中使用DISTINCT. 一般可以考虑用EXIST替换


例如:

低效:

SELECT DISTINCT DEPT_NO,DEPT_NAME

FROM DEPT D,EMP E

WHERE D.DEPT_NO = E.DEPT_NO

高效:

SELECT DEPT_NO,DEPT_NAME

FROM DEPT D

WHERE EXISTS ( SELECT ‘X'

FROM EMP E

WHERE E.DEPT_NO = D.DEPT_NO);


EXISTS 使查询更为迅速,因为RDBMS核心模块将在子查询的条件一旦满足后,立刻返回结果. 

 
分享到:
评论

相关推荐

    ORACLE SQL性能优化系列

    ORACLE SQL性能优化系列 ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一...

    ORACLESQL性能优化系列[参考].pdf

    Oracle SQL性能优化是数据库管理中的重要环节,直接影响到应用程序的响应速度和整体系统效率。本文主要探讨了两个关键方面:优化器的选择和访问表的方式。 首先,Oracle 提供了三种优化器供选择:RULE、COST 和 ...

    ORACLESQL性能优化.pptx

    Oracle SQL 性能优化 Oracle SQL 性能优化是数据库管理中非常重要的一环。通过对 SQL 语句执行的过程、Oracle 优化器、表之间的关联、如何得到 SQL 执行计划、如何分析执行计划等内容的讨论,可以逐步掌握 SQL ...

    ORACLE SQL性能优化.chm

    ORACLE SQL性能优化.chm ORACLE SQL性能优化.chm ORACLE SQL性能优化.chm

    《oracle SQL性能优化》中文电子书

    《Oracle SQL性能优化》这本书是数据库管理员和开发人员的重要参考资料,它深入探讨了如何提高Oracle数据库的SQL查询性能。在数据库系统中,SQL查询的速度直接影响到应用的响应时间和整体性能,因此,理解并掌握SQL...

    ORACLE-SQL性能优化大全.pdf

    ### ORACLE-SQL性能优化大全知识点详述 #### 一、优化基础知识概述 - **性能管理**: - **尽早开始**:性能优化应该在项目的早期就开始考虑,而不是等到后期出现性能瓶颈时才去处理。 - **设立合适目标**:设定...

    Oracle Sql 性能优化

    Oracle Sql性能优化 解宝喆 1、选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在...

    Oracle SQL性能优化总结

    简单的整理了一些Oracle性能优化方面的知识。 供大家参考学习。

    ORACLE_SQL性能优化(全).ppt

    【Oracle SQL性能优化】 Oracle SQL性能优化是数据库开发人员必须掌握的关键技能,它涉及到SQL语句的编写、执行过程、优化器的选择以及执行计划的分析等多个方面。在Oracle数据库环境中,优化SQL性能对于提升系统...

    ORACLE SQL性能优化系列.

    Oracle SQL性能优化是数据库管理中的重要环节,旨在提高查询速度,减少资源消耗,提升系统整体效率。本系列将深入探讨优化技巧,分为多个部分进行详细阐述。 1. 选择合适的Oracle优化器 Oracle提供了三种优化器:...

    ORACLE SQL性能优化

    ORACLE SQL性能优化 通过init.ora文件中OPTIMIZER_MODE声明 RULE (基于规则) 所遵循的是Oracle内部预定的一些规则。比如当一个where子句中的一列有索引时去走索引。 COST (基于成本) 你必须经常运行analyze ...

    OracleSQL的优化.pdf

    Oracle SQL 优化是数据库性能优化的关键部分。为了提高数据库的性能,我们需要从五个方面进行调整:去掉不必要的大型表的全表扫描、缓存小型表的全表扫描、检验优化索引的使用、检验优化的连接技术、尽可能减少执行...

    Oracle SQL性能优化系列.doc

    Oracle SQL性能优化是数据库管理中的关键任务,直接影响到应用程序的响应时间和资源利用率。本文主要讨论了三个方面:选择合适的Oracle优化器、访问Table的方式以及共享SQL语句。 首先,Oracle提供了三种优化器:...

    oracle SQL性能优化

    3本经典oracle sql性能优化的的书,值得一看: Oracle.High.Performance.Tuning.for.9i.and.10g.chm Oracle性能优化技术内幕.pdf SQL Performance Tuning -0201791692.chm

Global site tag (gtag.js) - Google Analytics