본문 바로가기
학습/DB

sort merge join

코동이 2022. 10. 10.

개요


테이블 조인의 경우 nested loop join, hash join, sort merge join 3가지가 있습니다. 이번 시간에는 sort merge join을 알아보겠습니다.

 

 

sort merge join


sort merge join은 내부적으로 정렬을 하고 조인을 하는 방식으로, not equal join에서 성능 향상을 위해 사용할 수 있는 방법입니다.

 

non equal join이란 아래와 같이, where e.sal between s.losal and s.hisal 처럼 '='으로 이루어지지 않은 조인 형식을 말합니다.

 

 

 

아래와 같이, emp 테이블은 DEPTNO를 정렬해서 조인합니다. 따라서 dept 테이블은 emp테이블에 모든 행을 매번 접근하는 것이 아니라, 정렬에 따라서 종료된느 시점까지만 접근하기 때문에 버퍼를 효율적으로 사용할 수 있습니다.

 

 

 

sort merge join도 선행 테이블 순서가 중요할까요? 만약에 순서를 바꿔서 조인을 한다면, 다음과 같이 조인 횟수가 많아 버퍼를 많이 필요로 합니다. 따라서, sort merge join도 작은 테이블을 선행 테이블로 해야합니다.

 

반응형

'학습 > DB' 카테고리의 다른 글

서브쿼리 의존증  (2) 2023.04.02
UNION을 사용한 쓸데없이 긴 표현  (0) 2023.04.01
hash join  (0) 2022.10.10
인덱스 스캔 7가지 종류  (0) 2022.10.08
Connection Pool & DataSource  (0) 2022.09.02