만약 각각의 결합 알고리즘에 대해서 숙지를 하지 않으셨다면 이 앞절의 결합알고리즘과 성능을 참고해주세요. 이번 포스팅에서는 어떻게 힌트절에 테이블 조인 방법을 지정하는지에 대해서 간단한 예제만 첨부하겠습니다.

 

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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기