Sort Merge Join(SM 조인, 정렬 병합 조인)은 두 개의 정렬된 테이블을 병합하여 조인하는 방식입니다.
주로 등가 조인(=)뿐만 아니라 범위 조인(<, >, BETWEEN 등)에서도 사용될 수 있으며, 대용량 데이터 조인에 적합합니다.
Sort Merge Join은 두 개의 입력 테이블을 정렬(Sort)한 후, 정렬된 데이터를 병합(Merge)하여 조인을 수행합니다.
SM 조인은 두 단계(Sort 단계 + Merge 단계)로 동작합니다.
SM 조인은 데이터 크기와 정렬 여부에 따라 두 가지 방식으로 실행됩니다.
✔ 대용량 데이터 조인에 적합 (특히 인덱스가 없을 경우)
✔ 등가 조인(=)뿐만 아니라 범위 조인(<, >, BETWEEN)에서도 사용 가능
✔ 테이블이 이미 정렬되어 있다면 매우 빠르게 실행
✔ Full Table Scan을 활용하여 읽기 성능이 좋음
❌ 정렬 단계가 필요할 경우, 정렬 비용이 큼
❌ 데이터가 작은 경우 Nested Loop Join보다 비효율적
❌ 랜덤 액세스가 많아 메모리 사용량 증가 가능
EXPLAIN ANALYZE
SELECT A.id, A.name, B.salary
FROM employees A
JOIN salaries B
ON A.id = B.emp_id; Sort Merge Join이 표시되면, 해당 조인이 SM 조인을 사용하고 있다는 의미입니다.| 조인 방식 | 사용 조건 | 장점 | 단점 |
|---|---|---|---|
| Nested Loop Join | 인덱스가 있을 때 | 작은 테이블에서 빠름 | 인덱스 없으면 느림 |
| Sort Merge Join | 정렬된 데이터에서 적합 | 범위 조인에서 빠름 | 정렬 비용이 큼 |
| Hash Join | 등가 조인(=)에서 적합 | 대용량 데이터에서 빠름 | 많은 메모리 필요 |
1️⃣ 정렬 비용 최소화
2️⃣ 병렬 처리 활용
3️⃣ 통계 정보 활용 (ANALYZE, EXPLAIN)
요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…
공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…
주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…
배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…
통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…