SQLP CBT 기출문제 예상문제 37번
다음 문제를 풀어보세요.
다음 중 `고객` 테이블에 대한 전체 스캔을 최소화하고, `주문` 테이블과의 조인 성능을 향상시키기 위한 가장 적절한 인덱스 전략을 고르시오. (단, `고객` 테이블은 `고객ID`, `이름`, `주소`, `등급` 컬럼을 가지고 있고, `주문` 테이블은 `주문ID`, `고객ID`, `주문일자`, `총금액` 컬럼을 가지고 있으며, `고객ID`를 기준으로 조인이 발생한다.)
-- 고객 테이블 구조
CREATE TABLE 고객 (
고객ID INT PRIMARY KEY,
이름 VARCHAR(50),
주소 VARCHAR(100),
등급 VARCHAR(10)
);
-- 주문 테이블 구조
CREATE TABLE 주문 (
주문ID INT PRIMARY KEY,
고객ID INT,
주문일자 DATE,
총금액 DECIMAL(10, 2),
FOREIGN KEY (고객ID) REFERENCES 고객(고객ID)
);
-- 자주 실행되는 쿼리
SELECT
c.이름,
o.주문일자,
o.총금액
FROM
고객 c
JOIN
주문 o ON c.고객ID = o.고객ID
WHERE
c.등급 = 'VIP'
AND o.주문일자 BETWEEN '2023-01-01' AND '2023-12-31';