🔹 해시 인덱스의 원리

해시 인덱스는 특정 키 값(예: id = 123)을 해시 함수(Hash Function) 에 넣어서 특정 위치(버킷, bucket)를 찾아가는 방식이야.

즉, 키 값을 직접 계산해서 데이터가 있는 위치를 빠르게 찾아가는 구조지.

📌 예제

만약 id 컬럼에 해시 인덱스를 만들었다고 하면,


🔹 해시 인덱스 vs. B-Tree 인덱스(클러스터링, 논클러스터링)

비교 요소 해시 인덱스 B-Tree 인덱스 (클러스터링, 논클러스터링)
검색 속도 O(1) (거의 즉시 찾음) O(log N) (트리 탐색)
범위 검색 (BETWEEN, ORDER BY) 비효율적 효율적
등가 검색 (=) 매우 빠름 ⭕ 빠름
LIKE 검색 (WHERE name LIKE 'A%') 불가능 ⭕ 가능
정렬된 데이터 유지 ❌ 정렬 안 됨 ⭕ 정렬된 상태 유지
사용 예시 정확한 키 값 조회 (WHERE id = 123) 범위 조회, 정렬, 다중 조건 검색

📌 즉, 해시 인덱스는 이런 경우에 적합해!


🔹 예제 데이터로 비교

📌 B-Tree 인덱스 사용 (클러스터링 or 논클러스터링)

sql
복사편집
SELECT * FROM users WHERE age BETWEEN 20 AND 30;

B-Tree 인덱스는 나이 기준으로 정렬되어 있어서 범위 검색이 빠름