Learning
토픽 82 / 201·인덱스 및 쿼리 최적화

Sort Merge Join

Sort Merge Join

두 테이블을 각각 조인 키 기준으로 정렬(Sort Phase)한 후 순차적으로 병합(Merge Phase)하여 일치하는 행을 찾는 조인 방식

특징: 정렬 비용 발생하나 범위/비동등 조인 가능, 이미 정렬된 데이터에 매우 효율

동작원리

시간복잡도

  • 정렬 포함: O(N·logN + M·logM) + O(N+M) 병합
  • 이미 정렬 시: O(N + M) 병합만 수행

구성요소: 정렬 단계(Sort Phase), 병합 단계(Merge Phase), 정렬 버퍼

최적화 포인트

  • 조인 키에 인덱스 있으면 정렬 생략 → 성능 대폭 향상
  • ORDER BY/GROUP BY와 조인 키 일치 시 추가 정렬 불필요

적용사례: 이미 정렬된 데이터, 범위 조인(>, <, BETWEEN), 비동등 조인

비교: SM(범위조인가능/정렬비용) vs Hash(동등만/해시비용) vs NL(소량/인덱스)

연관: 조인, 정렬, 실행계획, 인덱스