테마
마케팅팀이 관리하는 행사 테이블 MK_EVT_DAY에는 행사일이 NUMBER(8)(20230505)로 들어 있다. 영업관리팀의 「행사일 판매 분석」은 연도를 고르면 그해 행사일의 매장별 판매 건수를 낸다. 분기 리뷰 주간에 수십 번 돌린다.
2023년 행사일은 엿새이고 5월, 6월, 9월, 12월의 네 달에 걸쳐 있다.
CF10_P 판매(파티션 복사본, 문제 설정): CF10 500,000행을 PARTITION BY RANGE (SLE_DT) 월별 24칸(P202201 ~ P202312)과 빈 PMAX로 나눠 CTAS로 지었다. 칸 하나는 약 20,800행이고 FULL로 약 191블록, 24칸 전체는 약 4,610블록이다. 2023년 5월은 17번째, 12월은 24번째 칸이다.SLE_DT는 VARCHAR2(8) '20230505'이다. 행사일 하루 판매는 약 700건이고 엿새면 4,236건이다.MK_EVT_DAY 행사일(문제 설정, 마케팅팀 테이블): 40행 · 4블록 · EVT_CD · EVT_YMD NUMBER(8) · EVT_YY VARCHAR2(4). EVT_YMD는 모두 8자리다.SELECT c.SHP_NO, COUNT(*) AS evt_sle_cnt
FROM CF10_P c
WHERE c.SLE_DT IN (SELECT e.EVT_YMD
FROM MK_EVT_DAY e
WHERE e.EVT_YY = :v_yy)
GROUP BY c.SHP_NO
-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Pstart | Pstop |
-----------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 5 | 00:00:00.11 | 4614 | | |
| 1 | HASH GROUP BY | | 1 | 5 | 5 | 00:00:00.11 | 4614 | | |
|* 2 | HASH JOIN RIGHT SEMI | | 1 | 5000 | 4236 | 00:00:00.11 | 4614 | | |
|* 3 | TABLE ACCESS FULL | MK_EVT_DAY | 1 | 7 | 6 | 00:00:00.01 | 4 | | |
| 4 | PARTITION RANGE ALL | | 1 | 500K | 500K | 00:00:00.05 | 4610 | 1 | 25 |
| 5 | TABLE ACCESS FULL | CF10_P | 24 | 500K | 500K | 00:00:00.04 | 4610 | 1 | 25 |
-----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("E"."EVT_YMD"=TO_NUMBER("C"."SLE_DT"))
3 - filter("E"."EVT_YY"=:V_YY)
CF10_P를 몇 칸 열었는지 쓰고, 행사일이 네 달에 몰려 있는데도 칸을 고르지 못한 까닭을 Predicate Information으로 설명하시오.