티스토리 뷰
데이터베이스 조인(JOIN) - Hash Join의 개념과 장단점
Hash Join
Hash Join은 데이터 처리의 개선사항이 필요할 경우 유용하게 사용되는 조인 알고리즘 중 하나입니다.
Hash Join의 특징
- 비교적 작은 테이블을 Driving Table로 사용: Hash Join은 작은 테이블을 Driving Table로 활용하여 성능을 최적화할 수 있습니다. 이는 HASH_AREA_SIZE로 결정되며, 메모리 내에 Hash Bucket을 저장합니다.
- Hash Algorithm 활용: 각 테이블의 데이터를 Hash Algorithm을 통해 처리하고 조인하기 위한 연결고리를 구성합니다.
- Oracle에서의 활용: Hash Join은 Oracle 7.3 버전부터 소개되었으며, 8 버전 이후에 점점 더 많이 사용되고 있습니다.
Hash Join의 장단점
장점
- CBO 모드에서 옵티마이저가 자동으로 판단하여 적용 가능함(통계 정보가 필요): Equi Join에서만 사용 가능하며, 주로 OLTP 시스템 및 데이터웨어하우스에서 활용됩니다.
단점
- 많은 CPU와 메모리 자원이 필요하므로, 성능이 좋은 하드웨어 환경 필요: 조인 집합에 Hash Bucket을 구성하기 위해 많은 메모리와 CPU 자원이 소모되므로 하드웨어 환경을 고려해야 합니다.
- 하드웨어 자원 부족 시 디스크 I/O가 발생하여 성능 저하 가능성이 있음: 하드웨어 자원이 부족한 경우 디스크 I/O가 발생하여 성능이 저하될 수 있습니다.
맺으며
Hash Join은 작은 테이블을 주로 다루는 상황에서 효율적인 데이터 처리를 제공하는 조인 알고리즘입니다.