테마
본사 레거시 유통 차세대 이관 리허설이다. 판매상품(CF11) 1,096,708행을 새 판매상품 테이블 SLE_ITM_N으로 옮기면서 판매상품 번호 SLE_ITM_ID를 시퀀스로 매긴다. 다른 여섯 단계는 1 ~ 3초인데 이 단계만 47.6초다.
이관 담당: "직접 경로로 넣고 인덱스도 없는데 왜 느리죠?" 시퀀스는 이관 스크립트가 바로 앞에서 기본값으로 만든다.
CF11 판매상품: 1,096,708행 · 8,204블록SLE_ITM_N 새 판매상품 테이블: 비어 있다. 인덱스, 제약, 트리거는 없다(PK는 적재 뒤에 만든다).SQ_SLE_ITM: 이관 뒤에는 새 판매 화면이 한 건씩 번호를 받는다. 번호는 대리키라 빈 번호가 있어도 된다(업무 확인).-- 이관 단계 ⑤ 판매상품
CREATE SEQUENCE SQ_SLE_ITM START WITH 1 INCREMENT BY 1;
INSERT /*+ APPEND */ INTO SLE_ITM_N (SLE_ITM_ID, SLE_NO, ITM_NO, SLE_QTY, SLE_UPRC)
SELECT SQ_SLE_ITM.NEXTVAL, SLE_NO, ITM_NO, SLE_QTY, SLE_UPRC
FROM CF11;
COMMIT;
-----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-----------------------------------------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 1 | | 0 |00:00:47.61 | 170K |
| 1 | LOAD AS SELECT | SLE_ITM_N | 1 | | 0 |00:00:47.61 | 170K |
| 2 | OPTIMIZER STATISTICS GATHERING | | 1 | 1096K| 1096K|00:00:46.88 | 164K |
| 3 | SEQUENCE | SQ_SLE_ITM | 1 | | 1096K|00:00:46.52 | 164K |
| 4 | TABLE ACCESS FULL | CF11 | 1 | 1096K| 1096K|00:00:00.21 | 8153 |
-----------------------------------------------------------------------------------------------------------
[세션 통계 — 단계 ⑤ 한 번]
경과 시간 47.61 초
CPU used by this session 31.2 초
recursive calls 110,214
session logical reads 170,480
redo size 41.2 MB
[TKPROF — 재귀 SQL]
update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Execute 54836 9.84 21.40 0 0 109672 54836
[DBA_SEQUENCES] SQ_SLE_ITM · CACHE_SIZE 20 · ORDER_FLAG N · LAST_NUMBER 1096721