페이지

2015년 1월 5일 월요일

[Oracle] Index 강제로 태우기 ( 오라클 인덱스 )

출처 : http://blog.naver.com/pasapapa/80052514245

SELECT /*+INDEX(HIST HIST_CVCOD)*/ *
FROM HIST
WHERE A.ITEM LIKE :ARG_ITEM
AND A.SUDATE BETWEEN :ARG_SDATE AND :ARG_EDATE;

이렇게 할때 난 꼭 강제로라도 HIST_CVCOD 인덱스를 태우고 싶다..

/*+ INDEX(HIST HIST_CVCOD) */ 이렇게 한다...

의미: /*+ INDEX(테이블명 인덱스명) */ =======> 테이블명의 인덱스를 태우겠다.

출처 : http://hermestop.tistory.com/93

/*+ INDEX(table_name index_name) */
지정된 index를 강제적으로 쓰게끔 지정 합니다.

/*+ INDEX_ASC(table_name index_name) */
지정된 index를 오름차순으로 쓰게끔 지정 합니다.
Default로 Index Scan은 오름차순 입니다

/*+ INDEX_DESC(table_name index_name) */
지정된 index를 내림차순으로 쓰게끔 지정 합니다.

SQL>SELECT /*+ index_desc(emp pk_emp) */ empno
FROM emp
WHERE rownum = 1 ;

위 문장은 제일 큰 것 하나만 조회되므로, max function의 기능을 대신할 수 있습니다.

댓글 없음:

댓글 쓰기