h3.3.2.4.1 조건연산자별 비트맵 실행계획
- 조건연산자는 단지 비트연산의 방식만 다르게 할 뿐이기 때문에 조건연산자의 형태에 따라 처리방법이 크게 달라지지 않는다.
.
가) 동치(Equal)비교 실행계획
- 하나의 컬럼을 '='로 비교한 경우.
- SINGLE VALUE로 나타난다.
.
나) 범위(Range)비교 실행계획
- 범위를 나타내는 BETWEEN, LIKE, >, <, >=, <=연산자를 사용하여 비교한 경우.
- RANGE SCAN이 나타난다.
- number 타입으로 정의된 컬럼에 LIKE를 사용하였다면 인덱스 FULL SCAN으로 나타난다.
(B-Tree인덱스에서는 형변환이 일어나기 때문에 인덱스 스캔을 하지 못한다.)
.
다) AND조건 실행계획
- 각각 비트맵을 가지고 있는 컬럼들을 AND조건으로 사용하면 각각의 비트맵을 액세스하여 'AND연산'을 한다.
.
라) OR조건 실행계획
- OR조건으로 연결된 각각의 컬럼들은 자신의 단위 액세스를 생성하고 그 결과의 비트맵으로 'OR연산'을 실시한다.
.
마) 부등식(Not equal)비교 실행계획
- 비트맵 인덱스는 부등식이 사용되면 'BITMAP MINUS' 연산을 수행한다.
.
바) NULL 비교 실행계획
- 'IS NULL' 이나 'IS NOT NULL'로 비교하면 NULL을 마치 정상적인 값들과 동일하게 취급하여 각종 비트맵 연산에 참여시킨다.