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';