인덱스
- 단일 인덱스일 경우 null 값은 인덱스에 포함하지 않는다
인덱스의 스캔 방식
1. Index Range Scan
2. Index Full Scan
3. Index Unique Scan
4. Index Skip Scan
5. Index Fast Full Scan
6. Index Range Scan Descending
인덱스 사용이 불가능한 경우
- 인덱스 컬럼을 조건절에서 가공한 경우
ex) select name from students where substr(name,1,1) = '김'
- 부정형 비교
ex) select name from students where class <> 'A'
- is not null 또는 is null
ex) select name from students where student_id is not null
인덱스 튜닝 방안
select name from students where substr(name,1,1) = '김' -> select name from students where name like '김%'
select name from 사원 where 급여 * 12 = 36000000 -> select name 사원 where 급여 = 36000000/12
select name from 사원 where nvl(보너스, 0) >= 100 -> select name from 사원 where 보너스 >= 100 // null 인 경우
* 참고
- 스칼라 서브 쿼리(Scalar Subquery) : 한번에 1row 1column 을 반환하는 서브 쿼리
- 서브쿼리(Nested Subquery) : 메인 쿼리의 조건으로 사용되는 서브 쿼리
- 인라인뷰(Inline View) : From 절에 기술하여 테이블 처럼 사용하는 서브쿼리
|