복합 인덱스는 왼쪽부터 읽히므로, 처음 오는 컬럼이 탐색 범위를 얼마나 빨리 줄이는지가 핵심입니다. 그다음 순서는 자주 함께 쓰는 조건과 정렬 요구를 맞춰서 추가 작업을 줄입니다.
문법 순서가 아니라 검색 범위 축소, 실사용 조합, 정렬 일치를 함께 봐야 합니다.
검색 범위를 먼저 고정하거나 빠르게 좁히는 컬럼이 우선입니다.
등가 조건으로 먼저 묶어 두면, 뒤의 범위 조건은 이미 좁아진 구간에서만 스캔합니다.
일반적으로 더 적은 행을 남기는 컬럼이 앞에 오면, 같은 인덱스여도 훨씬 빨리 후보를 줄일 수 있습니다.
앞 컬럼만 맞추면 끝이 아닙니다. 실제로 같이 쓰는 조건과 정렬까지 이어서 확인합니다.
단일 컬럼 최적화보다, 실제로 자주 같이 오는 조건 묶음을 한 번에 처리하는 쪽이 더 실용적입니다.
필터링 뒤에 정렬이나 그룹화가 이어진다면, 같은 순서를 유지한 인덱스가 메모리 정렬 비용을 덜어줍니다.