[SQL] 조건절 최적화하기 YEAR, BETWEEN

Gi Woon Lee·2025년 3월 12일

SQL

목록 보기
25/33

만약 2024년도 데이터만 필터링 하고 싶다면 어떻게 필터링 할 것인가?

가장 먼저 떠오르는 것은 YEAR함수일 것이다.
날짜 정보를 담고 있는 칼럼이 DATE 타입이라면,

SELECT
	*
FROM 
	TABLE
WHERE 
	YEAR(DATE_COLUMN) = 2025

이렇게 하면 간단하기 때문이다.

하지만 위 코드를 최적화하기 위해 필터링하는 컴퓨터에게 인덱스를 제공해보자

YEAR(JOINED) = 2021JOINED BETWEEN '2021-01-01' AND '2021-12-31'


SELECT
	*
FROM 
	TABLE
WHERE 
	DATE_COLUMN BETWEEN `2024-01-01` AND `2024-12-31`
    # 필터링 시 인덱스 사용

위 방식으로 쿼리가 작성된다면 최적화된 쿼리라고 할 수 있다.
DB구조가 복잡하고 클 수록, 최적화를 염두하여 쿼리를 작성하면 좋다.

0개의 댓글