만약 2024년도 데이터만 필터링 하고 싶다면 어떻게 필터링 할 것인가?
가장 먼저 떠오르는 것은 YEAR함수일 것이다.
날짜 정보를 담고 있는 칼럼이 DATE 타입이라면,
SELECT
*
FROM
TABLE
WHERE
YEAR(DATE_COLUMN) = 2025
이렇게 하면 간단하기 때문이다.
하지만 위 코드를 최적화하기 위해 필터링하는 컴퓨터에게 인덱스를 제공해보자
YEAR(JOINED) = 2021 → JOINED BETWEEN '2021-01-01' AND '2021-12-31'
SELECT
*
FROM
TABLE
WHERE
DATE_COLUMN BETWEEN `2024-01-01` AND `2024-12-31`
# 필터링 시 인덱스 사용
위 방식으로 쿼리가 작성된다면 최적화된 쿼리라고 할 수 있다.
DB구조가 복잡하고 클 수록, 최적화를 염두하여 쿼리를 작성하면 좋다.