Sort Merge Join

- 조인하고자 하는 두 테이블의 행들을 조인 조건 컬럼 기준으로 정렬한 후 Merge하여 매치
- 조인 조건 컬럼이 정렬되어 있다면 검색 속도 향상에 도움
- 조인 조건 컬럼에 인덱스가 없거나, 출력해야 할텍스트 결과 값이 많을 때 사용
- 두 테이블의 데이터 양이 지나치게 차이가 나면 데이터 정렬의 비효율이 발생할 수 있음
- 별도의 정렬 공간이 필요
- 대량의 데이터 조인에 유리하고, 범위 검색 연산자가 사용된 경우 유용하게 사용
- Hint : /*+ user_merge(테이블) */
세부 진행 과정
SELECT *
FROM ORDER A, ORDER_DTL B
WHERE A.ORDER_DT = '20230101'
AND B.ORDER_NO = A.ORDER_NO
AND B.GOODS_CD = '522010051'
- ORDER_DTL_IDX1 인덱스에서 1건을 읽는다
특징
- 조인 관계에 어떤 연산자가 와도 관계없음
- 정렬로 인하여 Sort 영역을 많이 사용하며, 다량의 데이터 처리에 적합