분류 기준은 하나가 아니다
인덱스는 같은 대상을 서로 다른 질문으로 나눈다
한 인덱스를 설명할 때는 어떻게 찾는지, 중복을 허용하는지, 몇 개 컬럼을 묶는지, 무엇을 추가로 최적화하는지를 함께 봅니다.
분류 축
대표 종류
운영 의미
구조
어떤 탐색 방식인가?
B-Tree / B+Tree Hash Bitmap GiST / GIN
기본값은 B-Tree 계열입니다. 범위 검색에 강하고, Hash는 = 비교, Bitmap은 낮은 카디널리티, GiST/GIN은 전문 검색·공간 데이터에 맞습니다.
쿼리 패턴에 따라 선택
같은 인덱스라도 범위, 등가, 특수 데이터 타입에서 강점이 갈립니다.
고유성
중복을 막을 것인가?
Unique Non-Unique
Unique는 중복 값을 허용하지 않고, PK에 자동 생성되기도 합니다. Non-Unique는 중복 허용이 필요한 조회용 인덱스에 씁니다.
무결성과 조회 목적을 분리
성능 도구이면서 동시에 데이터 제약을 강제하는 축입니다.
컬럼 수
한 컬럼인가, 조합인가?
단일 컬럼 복합 인덱스
복합 인덱스는 여러 컬럼을 묶되 컬럼 순서가 성능을 좌우합니다. 자주 함께 필터링하거나 정렬하는 조건을 같은 순서로 배치해야 합니다.
조건 조합을 빠르게 처리
WHERE + ORDER BY 패턴을 한 번에 커버할 수 있지만 순서가 틀리면 효과가 줄어듭니다.
특수 목적
기본 탐색 외에 무엇을 줄일까?
Clustered Covering Partial Function-Based
물리적 정렬을 바꾸거나, 필요 컬럼을 모두 포함하거나, 조건에 맞는 행만 인덱싱하거나, 함수 결과에 직접 인덱스를 겁니다.
읽기 비용과 저장 방식을 조정
같은 조회라도 I/O를 줄이거나, 저장 순서를 바꾸거나, 대상 범위를 좁혀 성능을 다듬습니다.
핵심: 인덱스 이름 하나만 외우기보다, 분류 축이 무엇인지 먼저 보면 어떤 쿼리와 운영 요구에 맞는지 빠르게 판단할 수 있습니다.