SQLD 기출문제 예상문제 109

다음 문제를 풀어보세요.

다음 중 아래 SQL의 실행 계획을 분석한 결과로 가장 적절하지 않은 것을 고르시오.

-- 테이블 구조:
CREATE TABLE ORDERS (
    ORDER_ID NUMBER PRIMARY KEY,
    CUSTOMER_ID NUMBER,
    PRODUCT_ID NUMBER,
    ORDER_DATE DATE,
    QUANTITY NUMBER,
    PRICE NUMBER
);

CREATE INDEX IDX_ORDERS_CUSTOMER_ID ON ORDERS (CUSTOMER_ID);

-- SQL 쿼리:
SELECT
    O.ORDER_ID,
    O.ORDER_DATE,
    O.QUANTITY,
    O.PRICE
FROM
    ORDERS O
WHERE
    O.CUSTOMER_ID = :CUSTOMER_ID
AND O.ORDER_DATE >= TRUNC(SYSDATE - 30)
ORDER BY
    O.ORDER_DATE DESC;

-- 실행 계획 (예시):
-- Plan Hash Value  : 1234567890
--
-- ----------------------------------------------------------------------------------------------------
-- | Id  | Operation                    | Name                   | Rows  | Bytes | Cost (%CPU)| Time     |
-- ----------------------------------------------------------------------------------------------------
-- |   0 | SELECT STATEMENT             |                        |   100 |  1600 |   50  (3)  | 00:00:01 |
-- |   1 |  SORT ORDER BY               |                        |   100 |  1600 |   50  (3)  | 00:00:01 |
-- |*  2 |   TABLE ACCESS BY INDEX ROWID| ORDERS                 |   100 |  1600 |   49  (3)  | 00:00:01 |
-- |*  3 |    INDEX RANGE SCAN          | IDX_ORDERS_CUSTOMER_ID |   200 |       |    2   (0)  | 00:00:01 |
-- ----------------------------------------------------------------------------------------------------
--
-- Predicate Information (identified by operation id):
-- ---------------------------------------------------
--
--    2 - filter("O"."ORDER_DATE">=TRUNC(SYSDATE@!-30))
--    3 - access("O"."CUSTOMER_ID"=:CUSTOMER_ID)