테마
고객센터 상황판 맨 위 칸은 오늘 들어온 주문을 최신순으로 보여 준다. 상담원 PC 30대가 1분마다 새로 고친다. 조민우는 이렇게 말한다. "ORD_DT에 시분초가 있어서 TRUNC로 날짜만 맞췄어요. 형변환도 아니고 날짜를 자르기만 했는데, 이것도 가공인가요?" 아래는 2024년 6월 14일 밤(그날 주문 137건)에 잰 계획이다.
T_ORD 주문: 100,000행 · 896블록 · ORD_DT DATE(시분초 있음, 2023-01-01 ~ 2024-12-30) · 하루 136 ~ 137건PK_T_ORD (ORD_SEQ) · IX_T_ORD_DT (ORD_DT): BLEVEL 1 · 리프 265블록 · 통계 최신SELECT ORD_SEQ, CUS_ID, ORD_DT, ORD_ST, ORD_AMT
FROM T_ORD
WHERE TRUNC(ORD_DT) = TRUNC(SYSDATE)
ORDER BY ORD_DT DESC
------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Used-Mem |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 137 |00:00:00.01 | 896 | |
| 1 | SORT ORDER BY | | 1 | 1000 | 137 |00:00:00.01 | 896 |18432 (0)|
|* 2 | TABLE ACCESS FULL| T_ORD | 1 | 1000 | 137 |00:00:00.01 | 896 | |
------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter(TRUNC(INTERNAL_FUNCTION("ORD_DT"))=TRUNC(SYSDATE@!))
TRUNC는 형변환이 아닌데도 IX_T_ORD_DT를 쓰지 못하는 이유를 실행계획의 어느 줄에서 알 수 있는지 설명하시오.SORT ORDER BY)이 어떻게 되는지도 설명하시오.