표현식 인덱스는 원래 열 값 대신 함수나 식으로 계산한 값을 인덱싱하는 방식이다.
원리
조회 때 자주 사용하는 변환 결과를 저장해 탐색에 활용한다. PostgreSQL에서는 lower(column) 같은 표현식에 인덱스를 만들 수 있다.
예시
대소문자를 구분하지 않고 이름을 찾는 질의가 lower(name)을 사용한다면 같은 표현식의 인덱스를 검토할 수 있다.
SQL |
|---|
SQL SELECT · SQL JOIN · SQL GROUP BY · SQL HAVING · SQL 공통 테이블 식 |
주의할 점
조회에 쓰는 표현식과 인덱스 조건의 호환성을 확인해야 한다. 입력이 바뀔 때 계산과 인덱스 갱신 비용이 들며 사용할 함수의 성질에도 제약이 있다.