SELECT name FROM author WHERE bank_reg = 'Y' AND ASCII(name) >= 45217 AND ASCII(name) < 45994 ORDER BY name
SELECT name FROM ( SELECT name FROM author WHERE bank_reg = 'Y' )
WHERE ASCII(name) >= 45217 AND ASCII(name) < 45994 ORDER BY name
(bank_reg는 bitmap index가 걸려 있습니다. Y or N 이죠 이 경우
bitmap index를 거는게 올바른 가요?, 전체 3만권중 'Y'의 비중은 10%미만 입니다.)
첫번째 쿼리는 50~60ms가 걸리고
두번째는 30ms 정도가 걸립니다.
inline view를 만들어서 주는 쿼리가 약 2배 가까이 빠르다는 소린데.
위의 쿼리문을 그럼 아래와 같은 형식으로 오라클 옵티마이저가 분석하지 않고
다르게 한다는 소린데 어떻게 하는지요?
그리고 쿼리를 날리때 inline view를 쓰면 대부분의 경우에 이득을 볼수 있다는
소리 같은데..
지도 부탁 드립니다.
|