by 멀미나 [Oracle Tuning] tuning [2019.04.09 13:24:04]
안녕하세요 오라클 인덱스 사용시 궁금한 점이 있어 질문을 남깁니다.
아래와 같은 쿼리의 실행계획이 첨부 그림과 같이 나옵니다
SELECT
/*+ INDEX(A IX_NACC210TL7)*/
* FROM NACC210TL A
WHERE 1=1
AND NACC210_ACC_YEAR='2018'
AND NACC210_ACC_UNIT_CD='01'
AND NACC210_ACT_CD IN (SELECT ACT_CD FROM TABLE(FV_NACC_ACCT_ACT_CD(:basic_dt, :acc_unit_cd)))
;
IX_NACC210TL7 인덱스 구성은 NACC210_ACC_YEAR / NACC210_ACC_UNIT_CD / NACC210_ACT_CD 순으로 되어 있습니다.
NACC210_ACT_CD 부분의 조건이 제대로 인덱스를 타지 못하는데 힌트 등으로 쿼리 순서를 바꿔줘야하는 것인지
아니면 in 조건 사용시에는 function view 사용 자체가 안되는 것인지 궁금합니다