oracle⽤EXISTS替换DISTINCT
当提交⼀个包含⼀对多表信息(⽐如部门表和雇员表)的查询时,避免在SELECT⼦句中使⽤DISTINCT. ⼀般可以考虑⽤EXIST替换 例如:
低效:
SELECT DISTINCT DEPT_NO,DEPT_NAME
FROM DEPT D,EMP E
WHERE D.DEPT_NO = E.DEPT_NO
⾼效:
select distinct fromSELECT DEPT_NO,DEPT_NAME
FROM DEPT D
WHERE EXISTS ( SELECT ‘X’
FROM EMP E
WHERE E.DEPT_NO = D.DEPT_NO);
EXISTS 使查询更为迅速,因为RDBMS核⼼模块将在⼦查询的条件⼀旦满⾜后,⽴刻返回结果.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论