2016년 7월 19일 화요일

[NO_INDEX]인덱스관련힌트

[NO_INDEX]인덱스관련힌트, Hints For Access Paths(NO_INDEX)

 인자로 주어진 인덱스를 사용하지 말라는 의미인데 인덱스를 인자로 안주고 테이블만 인자로 준다면 그 테이블에서 생성된 어떠한 인덱스도 사용하지 말라는 뜻이다.

[형식]
/*+ NO_INDEX(테이블명 [인덱스명 [인덱스명] … ]) */


[인덱스를 사용하는 경우]
SQL> SELECT /*+ INDEX(EMP idx_emp_ename) */
      ename, sal
FROM  EMP
WHERE  ENAME LIKE 'S%';

----------------------------------------------------------------
Operation Object Name Rows Bytes Cost
----------------------------------------------------------------
SELECT STATEMENT Optimizer Mode=ALL_ROWS 2  2
  TABLE ACCESS BY INDEX ROWID SCOTT.EMP 2  18  2 
    INDEX RANGE SCAN SCOTT.IDX_EMP_ENAME 2  1                   
[NO_INDEX를 사용하는 경우]
SQL> SELECT /*+ NO_INDEX(EMP idx_emp_ename) */
      ename, sal
FROM EMP
WHERE ENAME LIKE 'S%';

----------------------------------------------------------------
Operation Object Name Rows Bytes Cost
----------------------------------------------------------------
SELECT STATEMENT Optimizer Mode=ALL_ROWS 2  3
  TABLE ACCESS FULL SCOTT.EMP 2  18  3 

댓글 없음:

댓글 쓰기