| 항목 | 설명 |
|---|---|
| 접근 방식 | 키를 해시 함수에 넣어 계산된 주소로 직접 접근 (O(1)) |
| 인덱스 구조 | 고정 길이 또는 동적 길이의 버킷 구조 사용 |
| 적용 용도 | 주로 OLTP 시스템의 키 기반 조회, Cache 시스템, 분산 DB |
충돌 발생 시 다른 버킷(빈 슬롯)을 찾아 삽입
메모리 효율적이나 클러스터링 현상 발생 위험
| 항목 | 해시 인덱스 | B-Tree 인덱스 |
|---|---|---|
| 조회 속도 | 매우 빠름 (O(1)) | 빠름 (O(log n)) |
| 범위 조회 | 불가능 또는 비효율적 | 매우 효율적 |
| 메모리 사용 | 낮음 | 중간~높음 |
| 충돌 가능성 | 있음 (해결 필요) | 없음 |
| 재구성 필요 | 테이블 확장 시 필요 | 자동 균형 조정 |
| 시스템 | 해시 활용 방식 |
|---|---|
| Oracle | Hash Cluster, Partition Hash |
| MySQL | Memory 엔진의 Hash 인덱스 |
| Redis | 내부 구조가 해시 기반 |
| NoSQL | Key-Value DB 대부분 해시 기반 |
| 분산 DB | Consistent Hashing (노드 샤딩, 분산 저장) |