SQLP CBT 기출문제 예상문제 464번
다음 문제를 풀어보세요.
다음은 SQL 재사용과 관련된 옵티마이저의 동작에 대한 설명이다. 아래 SQL 문과 실행 환경을 고려할 때, 예상되는 동작으로 가장 적절한 것을 고르시오.
[테이블 구조]
CREATE TABLE ORDERS (
ORDER_ID NUMBER PRIMARY KEY,
CUSTOMER_ID NUMBER,
ORDER_DATE DATE,
AMOUNT NUMBER
);
CREATE INDEX IDX_ORDERS_CUSTOMER_ID ON ORDERS (CUSTOMER_ID);
[SQL 문]
SELECT * FROM ORDERS WHERE CUSTOMER_ID = :cust_id AND ORDER_DATE > :start_date;
[실행 환경]
CUSTOMER_ID 컬럼에 대한 데이터 분포는 매우 고르지 않다. (일부 고객 ID는 주문량이 매우 많음)
:cust_id와 :start_date는 애플리케이션에서 바인드 변수로 전달된다.
OPTIMIZER_MODE는 ALL_ROWS이다.
CURSOR_SHARING은 EXACT로 설정되어 있다가 FORCE로 변경되었다.