반응형
*Sort Merge Join의 특징 - 2단계로 진행
(1)소트 단계: 양쪽 집합을 조인 칼럼 기준으로 정렬
(2)머지 단계: 정렬된 양쪽 집합을 서로 Merge
1. 조인 하기 전에 양쪽 집합을 정렬한다.
---> 양쪽 집합을 조인 칼럼 기준으로 정렬한 후에 조인을 시작
2. 부분적으로, 부분범위처리가 가능하다.
---> Outer 집합이 조인 칼럼 순으로 미리 정렬된 상태에서 사용자가 일부 로우만 Fetch 하다가 멈춘다면 Outer 집합은 끝까지 읽지 않아도 된다.
3. 테이블별 검색 조건에 의해 전체 일량이 좌우된다.
---> 두 집합을 각각 정렬한 후에 조인함으로써 각 집합의 크기, 즉 테이블별 검색 조건에 의해 전체 일량이 좌우된다.
4. 스캔 위주의 조인 방식이다.
---> 각 테이블 검색 조건에 해당하는 대상 집합을 찾을 때 인덱스를 이용한 Random 액세스 방식을 처리될 수도 있다. 이때 발생하는 Random 액세스량이 많다면 Sort Merge Join의 이점이 사라질 수 있다.
<예제>
SELECT /*+ ordered use_merge(e) */ D.DEPTNO, D.DNAME, E.EMPNO, E.ENAME
FROM DEPT D, EMP E
WHERE D.DEPTNO = E.DEPTNO
;
반응형
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
부등호 조인 - SQL전문가 가이드 p.659 (0) | 2012.10.25 |
---|---|
두 개 이상의 값을 리턴하고 싶을 때 - SQL전문가 가이드 p.653~p.654 (0) | 2012.10.25 |
NL Join의 특징 - SQL전문가 가이드 p.645 (0) | 2012.10.25 |
테이블 Random 액세스 최소화 튜닝, 인덱스 스캔범위 최소화 - SQL전문가 가이드 p.628~p.637 (0) | 2012.10.24 |
비트맵 인덱스 - SQL전문가 가이드 p.612~p.614 (0) | 2012.10.24 |