특정 고객 주문 + 최근 주문
WHERE user_id = ?
ORDER BY order_date DESC LIMIT 5
고객으로 먼저 좁히고, 같은 결과 집합 안에서 최근순 정렬까지 바로 처리해야 합니다.
인덱스는 임의로 추가하지 않습니다. 자주 쓰는 WHERE, 함께 붙는 ORDER BY / GROUP BY를 먼저 보고, 그 순서대로 선두 컬럼과 복합 인덱스를 정합니다.
고객으로 먼저 좁히고, 같은 결과 집합 안에서 최근순 정렬까지 바로 처리해야 합니다.
필터와 정렬이 한 경로에 있으면 쿼리 1과 3을 같은 복합 인덱스로 커버할 수 있습니다.
`user_id`만 보는 조회도 선두 컬럼 prefix 덕분에 그대로 활용됩니다.
날짜 범위를 연속해서 읽는 패턴입니다.
범위 조건의 시작점과 끝점을 빠르게 잡을 수 있어야 합니다.
날짜 축으로 바로 범위 스캔하므로 기간 조회가 단순해집니다.
먼저 상태를 고르고, 그 안에서 사용자별로 묶는 패턴입니다.
필터 기준 뒤에 그룹 기준을 이어 두면 집계 대상 정리가 쉬워집니다.
같은 상태의 행을 모은 뒤 사용자 순서까지 이어서 볼 수 있습니다.