来历:网海拾贝
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’;
6. SELECT子句中防止运用 ‘ * ‘
当你想在SELECT子句中列出全数的COLUMN时,运用静态SQL列引用 ‘*’ 是一个方便的门径.不幸的是,这是一个希罕很是低效的门径. 实践上,ORACLE在解析的进程中, 会将’*’ 依次转换成全数的列名, 这个变乱是经过过程究诘数据字典完成的, 这意味着将耗费更多的时间.
版权声明:
原创作品,允许转载,转载时请务必以超链接编制标明文章 原始出处 、作者信息和本声明。否则将清查法令责任。