oracle 用表连接替换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)

posted @ 2019-07-03 09:23  樊伟胜  阅读(929)  评论(0编辑  收藏  举报