문제
다음 복합 인덱스 생성 구문에서 가장 성능상 불리한 조건절 사용 패턴은?
SQLCREATE INDEX idx_complex ON 주문(고객ID, 주문일자, 상품코드);
① WHERE 고객ID = 'A001' AND 주문일자 >= '2024-01-01' ② WHERE 주문일자 BETWEEN '2024-01-01' AND '2024-12-31' AND 상품코드 = 'P100' ③ WHERE 고객ID = 'A001' AND 주문일자 = '2024-03-15' AND 상품코드 LIKE 'P%' ④ WHERE 고객ID = 'A001'
정답
2번
해설
복합 인덱스는 생성 순서대로 (고객ID, 주문일자, 상품코드) 정렬되어 있다. ②번은 첫 번째 컬럼인 고객ID를 사용하지 않고 중간 컬럼부터 시작하므로 인덱스를 효율적으로 사용할 수 없다. 복합 인덱스는 왼쪽부터 순차적으로 사용해야 최적 성능을 낸다.