CS/데이터베이스
조인(Join) 알고리즘 - 정렬 병합 조인(Sort Merge Join)
KDGdev
2023. 3. 2. 20:51
조인(Join) 알고리즘 - 정렬 병합 조인(Sort Merge Join)
조인이란 데이터베이스에서 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것입니다.
이번 포스팅에서는 이러한 조인의 원리. 즉, 조인 알고리즘 중 정렬 병합 조인에 대해서 알아보겠습니다.
정렬 병합 조인 (Sort Merge Join)
각각의 테이블을 조인할 필드 기준으로 가져와 별도의 공간에서 정렬하고 정렬한 결과를 차례로 스캔하면서 조건에 맞는 값을 병합하는 방법입니다.
위와 같이 정렬 병합 조인은 중첩 루프 조인과 다르게 인덱스가 필요 없다는 것을 알 수 있습니다.
정렬 병합 조인은 스캔방식이기 때문에 조인할 때 쓸 적절한 인덱스가 없을 때 사용하기 좋습니다. 또한 랜덤 액세스 방법보다 I/O에 대한 시간이 적게 걸려 대용량에 테이블을 사용할 때도 적합한 방법입니다.
다만 정렬하는데 비용이 든다는 단점이 있습니다.
※ 잘못된 정보, 혹은 다른 의견이 있다면 댓글로 말해주세요. 감사합니다.