1. 인덱스가 있는 컬럼을 표현식 또는 함수로 변형시킬경우

2. 부정연산자 (!=, <>) 를 사용할경우
(단일 인덱스일 경우)
- 이유는 인덱스는 검색하고자 하는 컬럼의 데이터가 전체 데이터의 약 10% 범위에 있을때 가장 빠르게 검색할수 있는데 부정
(!=, <>) 은 4~10% 의 범위를 벗어난 범위를 의미하기때문에 인덱스가 있다하더라도 오라클 서버는 인덱스를 사용하지 않고 대신  전체 테이블 스캔을 한다.
3. IS NULL 을 사용할 경우 (단일 인덱스일 경우)
- 왜냐하면 인덱스는 NULL 값이 포함되지 않으므로 IS NULL 의 의미는 인덱스가 없음을 의미하고 전체 테이블 스캔으로 데이터를
검색한다.
 
4. 와일드 카드로 시작하는 LIKE 문은 인덱스를 사용하는 경우(단일 인덱스일 경우)
->이유는 검색해야 할 범위를 알수 없기 때문에 오라클 서버는 전체 테이블 스캔이 더 빠른 검색을 해줄수 있다고 판단하여 인
덱스를 사용하지 않는다. 단 와일드카드(%) 로 끝나는 검색조건에는 인덱스가 사용된다.
 
  dbtown-rchwin.jpg
 이 글의 권한은 dbtown.net 에 있습니다.
자료를 스크랩하실땐 출처를 밝혀주세요 ^^