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;