오라클 쿼리 IN 절에
사용자 SPLIT 함수를 통해 특정 문자열을 잘라서 질의하는 경우
COLLECTION ITERATOR PICKLER FETCH 가 이상하게 풀리는 경우가 있다.
해당 힌트의 CARDINALITY 와 BYTES 가 비정상적으로 커지는 경우인데.
하위에 기입된 힌트와 WHERE ROWNUM > 0 조건을 기술함으로서,
비용을 줄일 수 있다.
A.CSTCD IN
(
SELECT /*+ CARDINALITY(S, 1) */ COLUMN_VALUE FROM TABLE(SPLIT(P_CSTCD, ',')) S
WHERE ROWNUM > 0
)
'ORACLE 이야기' 카테고리의 다른 글
Oracle LISTAGG (0) | 2015.12.11 |
---|---|
Oracle DB LINK (0) | 2015.12.11 |
Oracle Read to Collection Data (0) | 2015.01.22 |
Oracle Danamic Pivot (0) | 2015.01.22 |
Oracle Unpivot (0) | 2015.01.22 |