테마
원두 공급처가 2023년 12월에 납품한 콜드브루 원액 한 로트를 회수했다. 매장에 안내하려면 그달 콜드브루(1010)가 팔린 영수증 번호를 모두 뽑아야 한다. 품질팀은 같은 조회를 다른 상품으로도 하루 수십 번 돌린다.
CF11에는 판매 날짜 컬럼이 없어서, 개발자는 판매번호 앞 여섯 자리(연월)에 LIKE를 걸었다. 개발자는 "PK 인덱스를 타니까 괜찮다"고 한다.
CF11 판매상품: 1,096,708행 · 8,204블록 · SLE_NO는 'YYYYMMDD-NNNN'(앞 8자리가 판매일자) · 2023년 12월 46,322행 · 그중 콜드브루(1010) 635행CF11_PK (SLE_NO, ITM_NO): BLEVEL 2 · 리프 약 4,290블록 · 통계 최신 · 다른 인덱스 없음SLE_NO = :v)와 판매 등록이 이 PK를 쓴다SELECT SLE_NO
FROM CF11
WHERE SLE_NO LIKE :v_ym || '%'
AND ITM_NO = :v_itm
ORDER BY SLE_NO
---------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 635 |00:00:00.01 | 183 |
|* 1 | INDEX RANGE SCAN | CF11_PK | 1 | 623 | 635 |00:00:00.01 | 183 |
---------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("SLE_NO" LIKE :V_YM||'%' AND "ITM_NO"=:V_ITM)
filter(("ITM_NO"=:V_ITM AND "SLE_NO" LIKE :V_YM||'%'))
LIKE가 어떤 조건으로 쓰였는지도 설명하시오.