Oracle

[Oracle] 테이블 조인 튜닝 (ordered, leading)

byeongoo 2019. 6. 24. 21:24

1.ordered

ordered 힌트는 FROM 절에서 기술한 테이블 순서대로 조인합니다. 조인 순서에 따라 실행 계획이 달라지는 것을 볼 수 있습니다.

 

SELECT   /*+ ordered */
         E.DEPTNO
       , E.EMPNO
       , D.DNAME
FROM     DEPT D
       , EMP E
WHERE D.DEPTNO = E.DEPTNO 
;

 

SELECT   /*+ ordered */
         E.DEPTNO
       , E.EMPNO
       , D.DNAME
FROM     EMP E
       , DEPT D
WHERE D.DEPTNO = E.DEPTNO 
;

2. leading

leading 힌트 안에 쓴 테이블 순서대로 조인합니다. leading도 위와 마찬가지로 실행 계획을 정할 수 있습니다.

SELECT   /*+ leading(D E) */
         E.DEPTNO
       , E.EMPNO
       , D.DNAME
FROM     EMP E
       , DEPT D
WHERE D.DEPTNO = E.DEPTNO 
;
SELECT   /*+ leading(E D) */
         E.DEPTNO
       , E.EMPNO
       , D.DNAME
FROM     EMP E
       , DEPT D
WHERE D.DEPTNO = E.DEPTNO 
;