만약 각각의 결합 알고리즘에 대해서 숙지를 하지 않으셨다면 이 앞절의 결합알고리즘과 성능을 참고해주세요. 이번 포스팅에서는 어떻게 힌트절에 테이블 조인 방법을 지정하는지에 대해서 간단한 예제만 첨부하겠습니다.
SELECT /*+ ordered use_nl(D E)*/
E.DEPTNO
, E.EMPNO
, D.DNAME
FROM DEPT D
, EMP E
WHERE D.DEPTNO = E.DEPTNO
;
SELECT /*+ ordered use_hash(D E)*/
E.DEPTNO
, E.EMPNO
, D.DNAME
FROM DEPT D
, EMP E
WHERE D.DEPTNO = E.DEPTNO
;
SELECT /*+ ordered use_merge(D E)*/
E.DEPTNO
, E.EMPNO
, D.DNAME
FROM DEPT D
, EMP E
WHERE D.DEPTNO = E.DEPTNO
;
위와 같이 ordered 힌트로 테이블의 결합 순서를 지정하고, 테이블의 결합 방법으로 'use_nl', 'use_hash', 'use_merge'로 지정해주었습니다. 어떠한 상황에서 어떤 순서로 어떻게 테이블을 결합할지 항상 생각합시다!
'Oracle' 카테고리의 다른 글
[Oracle] LISTAGG (0) | 2019.08.04 |
---|---|
[Oracle] Merge문 사용 (0) | 2019.07.18 |
[Oracle] 테이블 조인 튜닝 (ordered, leading) (0) | 2019.06.24 |
[Oracle] 결합알고리즘과 성능 (0) | 2019.06.24 |
[Oracle] 집계와 조건 분기 (0) | 2019.06.10 |