본문 바로가기
개발공부 일지/오라클

오라클)Ordered와 Leading 힌트

by Box Cat 2023. 9. 30.
728x90
반응형

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 
;

 

 

NL조인과 Hash 조인은 일반적으로 선행 테이블(Outer 테이블, Builder 테이블)이 작을 수록 성능이 향상되기 때문에,

테이블 JOIN순서를 컨트롤하기 위하여 Ordered, Leading힌트가 사용됩니다.

 
 
728x90
반응형

댓글