테마
리스크팀 모니터의 「고액 주문」 칸은 부가세를 포함한 금액이 기준(:v_min, 지금은 539,000원) 이상인 주문의 건수와 합계를 띄운다. 화면 여섯 대가 1분마다 새로 고친다.
조민우가 지난주 ORD_AMT에 인덱스를 만들었고, 실행계획에도 그 인덱스 이름이 나온다. 그런데 한 번에 2천 블록이 넘는다. "인덱스는 탔는데 왜 이렇게 많이 읽죠?"
T_ORD_BIG: 1,000,000행 · 5,826블록 · ORD_AMT는 부가세 별도 금액(10,000 ~ 500,000원, 100원 단위로 고르게 퍼져 있다) · NOT NULL 제약은 없지만 NULL은 0건ORD_AMT 490,000원 이상인 주문: 20,512건(2.05%)IX_ORD_BIG_AMT (ORD_AMT): 지난주 생성 · BLEVEL 2 · 리프 2,094블록 · 통계 최신SELECT COUNT(*) AS cnt, SUM(ORD_AMT * 1.1) AS amt_vat
FROM T_ORD_BIG
WHERE ORD_AMT * 1.1 >= :v_min
-------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.08 | 2104 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.08 | 2104 |
|* 2 | INDEX FAST FULL SCAN| IX_ORD_BIG_AMT | 1 | 50000 | 20512 |00:00:00.07 | 2104 |
-------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("ORD_AMT"*1.1>=:V_MIN)
INDEX FAST FULL SCAN과 Predicate Information으로 설명하시오.SELECT 절의 ORD_AMT * 1.1도 고쳐야 하는지 설명하시오.