문제 링크 : https://velog.io/@yooha9621/SQLP실기문제-소트튜닝13번
1. 주문_X1(주문일자) 인덱스 통해 1년치 주문 액세스(1200만건)
2. 1단계의 1200만건을 주문상품_PK(주문번호 + 상품코드) 인덱스 통해 NL 조인
3. 2단계 결과집합 중복 제거 Sort
SELECT /*+ LEADING(P) INDEX_FFS(P 주문상품_PK) USE_HASH(O) FULL(O) */
0. 주문번호, 0.주문금액, 0.결제구분코드, 0.주문매체코드
FROM 주문 0, 주문상품 P
WHERE 0.주문일자 >= TRUNC(ADD_MONTHS(SYSDATE, -12))
AND P.주문번호 = 0.주문번호
AND P.상품코드 = :PRD_CD
✅ 조심할 부분
- 해시 조인을 쓰는 목적을 제대로 알고 쓸 줄 알아야한다.
- ⭐️ 즉 , NL조인을 하기엔 액세스 량이 너무 많은 경우 !! 그 대안으로 해시 조인을 쓰도록 하자!!
- 주문 테이블은 1억건중 1200만건이므로 풀스캔으로 처리한다.