원값 정렬만으로 느린 경우, 계산된 값·일부 행·비트 조합·복합 데이터·쓰기 패턴처럼 실제 접근 방식을 기준으로 인덱싱 대상을 바꾼다.
특수 인덱스는 같은 테이블에도 목적이 다르면 다른 구조를 쓴다. 아래 네 가지 신호가 보이면 B-Tree 외 선택지를 검토한다.
UPPER(name) WHERE status='ACTIVE'
함수 계산을 매번 다시 하지 않거나, 자주 보는 활성 행만 좁게 잡아 읽기 범위를 줄인다.
status='COMPLETED' AND payment_type='CARD'
비트 AND/OR 연산이 빨라 DW 질의에 강하다. 대신 DML이 많은 OLTP에서는 동시성에 불리하다.
LIKE '%keyword%' 대체 JSON / 배열 / 공간 검색
문자열 전체 스캔 대신 내용 기반 탐색을 하거나, 다차원·포함 연산을 빠르게 처리한다.
1001, 1002, 1003 ... → 삽입 핫스팟 완화
Oracle RAC 같은 환경에서 순차 삽입 경쟁을 줄이는 데 유리하다.