oracle hint Rule 사용 관련하여 궁금한게 있습니다. 0 6 1,298

by 동글이 [Oracle Tuning] [2021.09.24 16:15:06]


기존에 RULE 힌트를 사용한 쿼리가 있었는데요

조건절에 인덱스가 걸려있는 날짜컬럼을 다른컬럼으로 변경하려고 하는데

변경하려는 컬럼이 결합인덱스인데다가 뒤쪽에 있어 바로 인덱스를 못타도록 되어있습니다.

그래서 /*+ RULE INDEX_SS(테이블명 인덱스명) */

이렇게 힌트를 작성해보았지만 실행계획을 보니 인덱스를 안타고 있었습니다.

이렇게 사용할 수 없는건지 아시는 분 댓글 부탁드려요 ㅎㅎ 

읽어주셔서 감사합니다.

by pajama [2021.09.24 17:01:59]

rule 힌트라는게 있었군요..10.1까지는 파라미터 설정하면 사용할 수 있었던 것 같은데 그 이후로는 안된다고 합니다.

https://docs.oracle.com/cd/B13789_01/server.101/b10752/whatsnew.htm

rule을 빼고 hint를 사용해도 인덱스 사용이 안되시는지요?


by 동글이 [2021.09.24 17:18:25]

rule을 빼고 hint를 사용하면 인덱스 사용은 되는데 .. 속도가 너무 느립니다..

오라클 11g 사용하는걸로 알고 있는데 10g 이하에서만 사용가능한가보네요..?


by pajama [2021.09.24 17:21:59]

10.2버전부터는 optimizer_mode 설정값에 rule이 안보이더군요..다른 히든 파라미터가 있는지는 모르겠습니다.


by 동글이 [2021.09.24 17:24:45]

옵티마이저 모드 설정값이라는걸

DBA가 아닌 일반 개발자도 입력할 수 있는건가요?


by 마농 [2021.09.24 17:35:09]

인덱스 정상 탔는데 느리다면.

다른 해결책을 찾아야죠.

인덱스가 무조건 빠른건 아닙니다.

특히 스킵스캔은.


by 동글이 [2021.09.27 10:03:36]

그렇군요 ㅎㅎ 

감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입