OracleSQL性能优化系列介绍(上)(3)
文章作者 100test 发表时间 2007:03:14 14:00:01
来源 100Test.Com百考试题网
5. WHERE子句中的连接顺序
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 . |