2019년 1월 3일
정렬 합병 조인 (Sort Merge Join)
1. 동시 스캔 방식, 정렬 합병 조인 (Sort Merge Join)
(1) 정렬 합병 조인의 개념
- 두 테이블이 모두 정렬 시 조인 애트리뷰트 순서에 따라 동시 스캔하며 A, B값이 동일 레코드를 검색하는 데이터베이스 조인 방식
(2) 정렬 합병 조인의 특징
- 연결 시 랜덤 액세스 미수행
- 정렬 영역에 따라 사용 효율 차이 발생
2. 정렬 합병 조인의 구성도 및 방식
(1) 정렬 합병 조인의 구성도
![]() |
(2) 정렬 합병 조인 방식 설명
| 조인 방식 | 설명 |
|---|---|
| 수행 순서 | – 조인될 각 행 소스 정렬 – 행 정렬은 조인 컬럼 값 기준 |
| 연결 순서 | – 조인 컬럼 순서로 결과 출력 – 테이블 별 스캔, 정렬 수행, 성능 영향없음 |
| 이용 | – 조건에 의해 집합 감소 시 유리 – 효과적 수행 위해 정렬 영역 크기 설정 |
3. 정렬합병 조인 사용 경우 및 고려사항
(1) 정렬합병 조인 사용 경우
- 조인 대상 범위가 넓을 때 랜덤액세스 줄이기 위한 경우
- 연결고리에 적절한 인덱스 미존재 시 해결 방안
(2) 정렬합병 조인 사용 시 고려사항
- 두 결과 집합 크기 차이가 큰 경우 비효율적
- 정렬 메모리 위치 대상은 조인키 뿐 아니라 검색 범위도 포함되므로 필요한 SELECT 항목 제거
