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)
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…