테마
상담 화면 「주문 묶음 상세」는 상담원이 고른 주문(보통 1 ~ 5건)을 전역 임시 테이블 GT_ORD_PICK에 넣고 상세를 펼친다. 상담원 40명이 하루 약 2만 번 쓴다.
이 화면이 붙는 접속 풀은 접속할 때마다 업체가 2012년 튜닝 가이드에 적은 초기화 SQL을 실행한다. 가이드의 설명은 "동적 샘플링을 끄면 파싱 시간이 준다" 한 줄이다.
GT_ORD_PICK: 전역 임시 테이블(ON COMMIT PRESERVE ROWS) · ORD_SEQ · 세션마다 1 ~ 5행 · 통계 없음T_ORD: 100,000행 · 896블록 · PK_T_ORD (ORD_SEQ)T_ORD_DET: 200,000행 · 896블록 · PK_T_ORD_DET (ORD_SEQ, ORD_DET_NO) · 주문당 1 ~ 3건-- 접속 풀 초기화 SQL (업체 · 2012년 튜닝 가이드)
ALTER SESSION SET OPTIMIZER_DYNAMIC_SAMPLING = 0;
-- 「주문 묶음 상세」 (고른 주문을 GT_ORD_PICK 에 넣은 뒤)
SELECT o.ORD_SEQ, o.ORD_DT, o.ORD_ST, d.ORD_DET_NO, d.ITM_ID, d.ORD_QTY, d.UNT_PRC
FROM GT_ORD_PICK g, T_ORD o, T_ORD_DET d
WHERE o.ORD_SEQ = g.ORD_SEQ
AND d.ORD_SEQ = o.ORD_SEQ
ORDER BY o.ORD_SEQ, d.ORD_DET_NO
[상담원이 주문 3건을 고른 경우]
---------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Used-Mem |
---------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 6 |00:00:00.03 | 1793 | |
| 1 | SORT ORDER BY | | 1 | 16336 | 6 |00:00:00.03 | 1793 | 2048 (0)|
|* 2 | HASH JOIN | | 1 | 16336 | 6 |00:00:00.03 | 1793 | 1164K (0)|
|* 3 | HASH JOIN | | 1 | 8168 | 3 |00:00:00.02 | 897 | 1236K (0)|
| 4 | TABLE ACCESS FULL| GT_ORD_PICK | 1 | 8168 | 3 |00:00:00.01 | 1 | |
| 5 | TABLE ACCESS FULL| T_ORD | 1 | 100K| 100K|00:00:00.01 | 896 | |
| 6 | TABLE ACCESS FULL | T_ORD_DET | 1 | 200K| 200K|00:00:00.01 | 896 | |
---------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("D"."ORD_SEQ"="O"."ORD_SEQ")
3 - access("O"."ORD_SEQ"="G"."ORD_SEQ")