SQLD 기출문제 예상문제 22

다음 문제를 풀어보세요.

다음은 고객별 총 구매 금액을 기준으로 상위 10명의 고객을 추출하는 쿼리이다. 성능 개선을 위해 인덱스를 추가하려고 할 때, 가장 효과적인 인덱스 구성은 무엇인가?

-- 고객 테이블
CREATE TABLE CUSTOMER (
    CUSTOMER_ID INT PRIMARY KEY,
    CUSTOMER_NAME VARCHAR(50),
    CITY VARCHAR(50)
);

-- 주문 테이블
CREATE TABLE ORDERS (
    ORDER_ID INT PRIMARY KEY,
    CUSTOMER_ID INT,
    ORDER_DATE DATE,
    TOTAL_AMOUNT DECIMAL(10, 2),
    FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER(CUSTOMER_ID)
);

SELECT c.CUSTOMER_ID, c.CUSTOMER_NAME, SUM(o.TOTAL_AMOUNT) AS TOTAL_PURCHASE
FROM CUSTOMER c
JOIN ORDERS o ON c.CUSTOMER_ID = o.CUSTOMER_ID
GROUP BY c.CUSTOMER_ID, c.CUSTOMER_NAME
ORDER BY TOTAL_PURCHASE DESC
LIMIT 10;