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
반응형
'개발공부 일지 > 오라클' 카테고리의 다른 글
오라클)Warning: Procedure creates with compilation errors (0) | 2023.10.12 |
---|---|
오라클)SELECT * FOR UPDATE (0) | 2023.09.30 |
오라클)Nested Loop Join과 Hash Join과 선행 테이블 (0) | 2023.06.19 |
SORT MERGE JOIN과 인덱스 (0) | 2023.06.19 |
암시적 오라클 형 변환 우선순위 (0) | 2023.06.19 |
댓글