테마
유통 본사 DB를 11g에서 19c로 올린 다음 날, 성능 모니터링 도구가 판매 SQL 37개에 「실행계획 변경」 경보를 띄웠다. 거의 모두 TABLE ACCESS BY INDEX ROWID가 TABLE ACCESS BY INDEX ROWID BATCHED로 바뀐 것이다.
인프라팀은 이렇게 제안했다. "OPTIMIZER_FEATURES_ENABLE을 '11.2.0.4'로 되돌리면 경보가 다 사라진다. 오늘 밤 반영하겠다." 오과장이 대표로 「일별 판매 목록」 SQL의 전후 계획을 보내왔다. 캐시를 비우고 잰 값이다.
CF10 판매: 500,000행 · 4,583블록 · 판매 날짜순으로 쌓였다 · 2023-06-01 706건이 13블록에 모여 있다IX_CF10_SLE_DT (SLE_DT): BLEVEL 2 · 리프 1,393 · CLUSTERING_FACTOR 9,921(교재 03화 실측) · 통계 최신SELECT SLE_NO, SLE_HMS, SHP_NO
FROM CF10
WHERE SLE_DT = :v_dt
ORDER BY SLE_NO
[11g]
-------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads |
-------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 706 |00:00:00.05 | 18 | 18 |
| 1 | SORT ORDER BY | | 1 | 685 | 706 |00:00:00.05 | 18 | 18 |
| 2 | TABLE ACCESS BY INDEX ROWID | CF10 | 1 | 685 | 706 |00:00:00.05 | 18 | 18 |
|* 3 | INDEX RANGE SCAN | IX_CF10_SLE_DT | 1 | 685 | 706 |00:00:00.01 | 5 | 5 |
-------------------------------------------------------------------------------------------------------------------------
[19c]
-------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads |
-------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 706 |00:00:00.02 | 18 | 18 |
| 1 | SORT ORDER BY | | 1 | 685 | 706 |00:00:00.02 | 18 | 18 |
| 2 | TABLE ACCESS BY INDEX ROWID BATCHED| CF10 | 1 | 685 | 706 |00:00:00.02 | 18 | 18 |
|* 3 | INDEX RANGE SCAN | IX_CF10_SLE_DT | 1 | 685 | 706 |00:00:00.01 | 5 | 5 |
-------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("SLE_DT"=:V_DT)
[대기 이벤트 · 테이블 블록 13개] 11g: db file sequential read 13번 · 19c: db file parallel read 2번