SQLD 기출문제 예상문제 44

다음 문제를 풀어보세요.

다음 중 아래 SQL 쿼리의 성능을 최적화하기 위한 가장 적절한 방법을 고르시오.

-- 주문(ORDERS) 테이블과 고객(CUSTOMERS) 테이블을 조인하여
-- 특정 기간 동안의 주문 건수와 총 주문 금액을 고객별로 집계하는 쿼리

SELECT
    C.CUSTOMER_ID,
    C.CUSTOMER_NAME,
    COUNT(O.ORDER_ID) AS ORDER_COUNT,
    SUM(O.ORDER_AMOUNT) AS TOTAL_AMOUNT
FROM
    ORDERS O
JOIN
    CUSTOMERS C ON O.CUSTOMER_ID = C.CUSTOMER_ID
WHERE
    O.ORDER_DATE BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY
    C.CUSTOMER_ID, C.CUSTOMER_NAME
ORDER BY
    TOTAL_AMOUNT DESC;

[테이블 구조]

-- ORDERS 테이블
CREATE TABLE ORDERS (
    ORDER_ID INT PRIMARY KEY,
    CUSTOMER_ID INT,
    ORDER_DATE DATE,
    ORDER_AMOUNT DECIMAL(10, 2),
    -- 기타 컬럼
    FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS(CUSTOMER_ID)
);

-- CUSTOMERS 테이블
CREATE TABLE CUSTOMERS (
    CUSTOMER_ID INT PRIMARY KEY,
    CUSTOMER_NAME VARCHAR(255),
    -- 기타 컬럼
);