Function Trap

컬럼에 함수를 씌우면 일반 인덱스 탐색이 어려워진다

UPPER(name), YEAR(date) 같은 표현식은 원본 컬럼의 정렬 순서를 그대로 쓰기 어렵다.

비효율
대응
표현식
문제

WHERE UPPER(name) = 'KIM'은 name 인덱스와 표현식이 다르다.

대응 1

LOWER/UPPER 결과를 저장하거나 표현식 인덱스를 만든다.

대응 2

날짜는 함수 대신 범위 조건으로 바꾸는 편이 단순하다.