Oracle性能优化学习笔记WHERE在连接顺序的条款

时间:2022-07-14 07:16:36

 ORACLE自下而上分析顺序WHERE条款,根据这一原理,表之间的连接必须写在其它WHERE先决条件, 这些条件可以过滤掉要被写入记录的最大数目WHERE在条款结束.

比如:

       (低效,运行时间156.3秒)

SELECT …
FROM EMP E
WHERE SAL > 50000
AND JOB = ‘MANAGER’
AND 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO);

(高效,运行时间10.6秒)

SELECT …
FROM EMP E
WHERE 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO)
AND SAL > 50000
AND JOB = ‘MANAGER’;

小记:

       本文摘自百度文库。木有找到详细的联系。抱歉。