정렬 합병 조인 (Sort Merge Join)

I. 동시 스캔 조인 방식, 정렬 합병 조인

가. 정렬 합병 조인(Sort Merge Join)의 개념

  • 두 테이블이 모두 정렬 시 조인 애트리뷰트 순서에 따라 동시 스캔하며 A, B값이 동일 레코드 검색

나. 정렬 합병 조인 특징

  • 연결 시 랜덤 액세스 미수행
  • 정렬 영역에 따라 사용 효율 차이 발생

 

II. 정렬 합병 조인 구성도 및 방식

가. 정렬 합병 조인 구성도

나. 정렬 합병 조인 방식 설명

조인 방식설명
수행 순서– 조인될 각 행 소스 정렬
– 행 정렬은 조인 컬럼 값 기준
연결 순서– 조인 컬럼 순서로 결과 출력
– 테이블 별 스캔, 정렬 수행, 성능 영향없음
이용– 조건에 의해 집합 감소 시 유리
– 효과적 수행 위해 정렬 영역 크기 설정

 

III. 정렬 합병 조인 사용 경우 및 고려사항

가. 정렬 합병 조인 사용 경우

  • 조인 대상 범위가 넓을 때 랜덤액세스 줄이기 위한 경우
  • 연결고리에 적절한 인덱스 미존재 시 해결 방안

나. 정렬 합병 조인 사용 시 고려사항

  • 두 결과 집합 크기 차이가 큰 경우 비효율적
  • 정렬 메모리 위치 대상은 조인키 뿐 아니라 검색 범위도 포함되므로 필요한 SELECT 항목 제거

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^