토픽 81 / 201·인덱스 및 쿼리 최적화
Hash Join
Hash Join
작은 테이블(Build Input)로 해시 테이블을 생성(Build Phase)한 후, 큰 테이블(Probe Input)을 스캔하며 해시 테이블에서 일치하는 행을 탐색(Probe Phase)하는 조인 방식
특징: 대용량 동등 조인에 최적, 인덱스 불필요, 메모리 의존적
동작원리
시간복잡도: O(N + M) — Build O(N) + Probe O(M), 해시 충돌 무시 시
구성요소: Build 테이블(작은 쪽), Probe 테이블(큰 쪽), 해시 테이블, 해시 함수
제약사항
- •동등 조인(=)만 가능 (범위/비동등 조인 불가)
- •해시 테이블이 메모리(PGA/hash_area_size)에 적재 가능해야 최적
- •메모리 초과 시 Temp 영역 사용 → 성능 저하
적용사례: DW, 대용량 배치, 인덱스 없는 테이블 간 조인
비교: Hash(동등조인/메모리의존/O(N+M)) vs Sort Merge(범위조인/정렬비용/O(NlogN))
연관: 조인, 실행계획, 대용량 처리, PGA