데이터베이스 해시 조인 (Hash Join)

I. 해시 함수 기반, 해시 조인

가. 해시 조인 (Hash Join)의 개념

  • 선행 테이블에 해시 적용, 해시 영역 구성하여 후행 테이블 차례로 해시 기능 이용 조인

나. 해시 조인의 특징

  • 대용량 처리 시 랜덤액세스와 정렬 부담 해소 대안
  • 각 테이블 속성을 해시 키로 동일 해시 함수 사용

II. 해시 조인 구성도 및 동작 원리

가. 해시 조인 구성도

나. 해시 조인 동작 원리/성능

구분세부 사항설명
동작
원리
작은 릴레이션– 조인에 참여한 릴레이션 중 작은 릴레이션을 선택 테이블로 선택
해시 영역 사용– 선택 선행 테이블에 해시 함수 적용
– 해시 영역에 해시 테이블 생성
해시 테이블 탐색– 후행 테이블을 읽어 해시 테이블 탐색 하면서 조인
성능키 컬럼– 키 컬럼에 중복값 많으면 버킷 당 엔트리가 많아지며 버킷 스캔 단계 탐색 속도 저하

 

III. 해시 조인 사용 시 고려사항

  • 해시 충돌 최소화, 버킷 하나 당 하나의 엔트리
  • 한 쪽 집합이 해시 영역에 저장되므로 충분히 작아야 함
  • 수행 빈도에 따라 H/W 자원 사용률 증감

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^