SQLD 기출문제 예상문제 260번
다음 문제를 풀어보세요.
다음 상황에서 옵티마이저가 해시 조인(Hash Join)을 선택할 가능성이 가장 높은 이유를 고르시오.
[테이블 구조]
CREATE TABLE CUSTOMERS (
CUSTOMER_ID NUMBER PRIMARY KEY,
CUSTOMER_NAME VARCHAR2(100),
CITY VARCHAR2(50)
);
CREATE TABLE ORDERS (
ORDER_ID NUMBER PRIMARY KEY,
CUSTOMER_ID NUMBER,
ORDER_DATE DATE,
AMOUNT NUMBER,
CONSTRAINT FK_CUSTOMER FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS(CUSTOMER_ID)
);
[상황 설명]
ORDERS 테이블은 약 1,000만 건의 대용량 데이터가 적재되어 있으며, CUSTOMERS 테이블은 약 10만 건의 데이터가 적재되어 있습니다. 두 테이블은 CUSTOMER_ID 컬럼으로 조인됩니다. CUSTOMER_ID 컬럼에는 양쪽 테이블 모두 인덱스가 존재합니다.
[SQL 쿼리]
SELECT
C.CUSTOMER_NAME,
O.ORDER_ID,
O.AMOUNT
FROM
CUSTOMERS C JOIN ORDERS O
ON C.CUSTOMER_ID = O.CUSTOMER_ID
WHERE
C.CITY = 'Seoul';