728x90
반응형
B*Tree 인덱스를 사용하려면 인덱스의 선두 컬럼이 조건절에 적용되어야 한다.
그렇지 않을 경우 옵티마이저는 인덱스 전체를 스캔하거나 테이블 전체를 스캔하게 된다.
선두 컬럼이 조건절에 적용되더라도 인덱스 사용을 못하는 경우가 있는데 아래와 같다.
1.
select * from Employee where substr(name, 1,3) = 'LEE'
2.
select * from Employee where name <> 'LEE'
3.
select * from Employee where name is not null
위 경우 정상적인 인덱스 범위 스캔이 불가능하지만 인덱스 사용자체가 불가능한건 아니라
Index Full Scan은 가능하다.
SQL Server 서버는 is null 검색 시에도 인덱스를 사용할 수 있다.
728x90
반응형
'DataBase' 카테고리의 다른 글
MSSQL의 Merge 로 데이터 병합처리 (0) | 2020.11.04 |
---|---|
WHERE INDEXを使用してみましょう (0) | 2020.11.01 |
인덱스 Select 시 조건절 데이터타입 (0) | 2020.11.01 |
인덱스 사용을 위한 가공된 컬럼 튜닝 방안 (0) | 2020.11.01 |
Oracle/MSSQL SELECT 시 NOLOCK (0) | 2020.10.29 |
댓글