[실기1]
주문 10만건, 주문고객 1만건, 회원 수 10만명
select b.고객번호, b.고객명, a.주문횟수
from (주문고객번호, count(*) as 주문횟수
from 고객
where 주문일자 >= :v_주문시작일자
where 주문일자 < :v_주문종료일자 ) as a,
고객 b
where b.고객주문번호 = a.고객주문번호
group by 주문고객번호
[변경 전 실행계획]
sort group by
[변경 후 실행계획]
hash group by
[문제]
가. 실행계획에서 변경 후 고객_pk, 고객 테이블에서 읽어오는 블록I/O가 증가했는데 이유를 DBMS성능과 관련해서 쓰시오
나. 변경 전 실행계획처럼 나오도록 쿼리를 작성하거나 힌트를 작성하시오
다. 변경 후 실행계획이 hash 조인이 되도록 조인순서와 조인명을 작성하시오.
[실기2]
동일한 구조의 계약적재, 계약 테이블이 있다
계약적재 테이블에는 1일, 한달치 적재가 들어오고 삭제는 한달치 변경분이 된다. 1일적재는 약 10만개, 한달 삭제양은 1000건.
insert랑 delete문을 merge 구문으로 바꾸고 조인 방법과 순서를 명시하시오