쿼리가 index가 안타서 테스트해보니까 in 조건이 2개라서 안타고있는걸 발견했습니다
exists로 바꿔서해봐도 조건이 2개면 안타는대 혹시 해결방법이있나요??
select /*+ index(T 인덱스) */
from T
where 1=1
and a in (...)
and b in (...)
이런식으로 걸려있다는 건지요
index(테이블 인덱스) 힌트 지정을 해보세요.
힌트도 걸어봤는대 안타더라구요
위의 구조대로
테스트 해봤는데 인덱스 잘 탑니다.
in 절 안의 데이터 유형이 맞는지,
통계정보는 어떤지 확인해보는게 좋을 듯합니다. (통계정보는 개발부터 충분히 테스트하면서 하세요)
다른 원인이 있을 것 같은데요.
해당 컬럼의 분산이 충분히 크지 않거나
묵시적 형변환이 발생한 것이거나