인덱스 관련 질문 드립니다. 1 6 1,144

by 아히고 [2012.02.10 09:01:03]


특정기간을 조회 하는데 1년정도 조회하는 값을 가지고 올때
플랜을 보면 인덱스 스켄을 하게 되는데요
이게 일정기간을 넘으면 같은 쿼리 인데도 (날짜값만 틀림)
인덱스 스켄을 하지 않고 풀스켄을 하는데 왜 그러니 조언좀 부탁드려요 ㅜㅜ

by 부쉬맨 [2012.02.10 09:24:26]
/*+ index(컬럼) */

인덱스를 강제로주고도 그렇게타나요?
기간이 늘면 풀타는게 더좋을수있죠.
데이터의양이 그만큼늘어난다는뜻이니깐.

by 아히고 [2012.02.10 09:34:37]
/*+ LEADING(B) USE_NL(B A) INDEX_DESC(B 인덱스컬럼)*/

힌트는 이렇습니다.

by 부쉬맨 [2012.02.10 09:38:38]
힌트를 주고 돌린거라면 힌트를 빼고한번해보시길...

by 아히고 [2012.02.10 09:41:48]
왜 인덱스 스켄을 타던게 풀스켄을 타게 되는지가 궁금한거에요 ㅜㅜ

by 부쉬맨 [2012.02.10 09:54:22]
그건상황을봐야겠죠
인덱스상태라든지 데이터의양
이런것들로 인하여서 바뀔수가있겠죠.
날짜값만 틀리다고하셨는데 그 날짜의 값도 모르니 알려드릴수가..

by 손님 [2012.02.10 14:13:33]
INDEX_DESC(B 인덱스컬럼) 이라고 하셨는데... '인덱스컬럼'이라고 하신건 오타시겠죠?? '인덱스명'이어야 하는데 말이죠?? 그런건 아닌거 같구요~~
참고로 10g 부터는 통계정보가 구식이거나 없다면 자체적으로 표본추출하여 임시로 통계정보를 만들어 내는걸로 알고 있습니다.
쉽게 말하자면 데이터가 많아질수록 통계정보에 따라 실행계획이 바뀔수 있다는것이지요. 그리고 힌트를 준다고 해서 무조건 힌트를 따라가진 않습니다. 일종의 훈수같은것이지요~ 만약 힌트절이 옵티마이져 생각에 좋치않다고 생각이 들면 실행계획이 변경될 수 있습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입