3.2.4. 비트맵(Bitmap) 실행계획
2010.11.08 08:35
3.2.4. 비트맵(Bitmap) 실행계획
3.2.4.1. 조건 연산자별 비트맵 실행계획
가) 동치(Equal) 비교 실행계획
- 가장 단순한 형태로 하나의 컬럼 '=' 로 비교한 경우
- 'IN' 사용 시 여러개의 '=' 를 사용한 것과 동일
- 비트맵 검색 처리를 'SINGLE VALUE'로 나타냄
나) 범위(Range) 비교 실행계획
- 범위를 나타내는 BETWEEN, LIKE, >, <, >=, <= 연산자 사용 시 'RANGE SCAN'
- Number 타입의 컬럼에 LIKE 사용 시
- B-Tree 인덱스 : 인덱스를 사용하지 않음 ∵ 내부적인 변형 발생
- Bitmap 인덱스 : 인덱스 'FULL SCAN' 실행계획 발생
다) AND 조건 실행계획
- 각 컬럼을 자신의 단위 액세스를 수행 후 그 결과를 AND 연산 실시
- 비트맵을 범위 스캔 시, 각 인덱스 처리 후 비트맵 머지 결과를 'AND' 연산 실시
- NOT EQUAL 조건과 함께 AND 조건 사용 시 'BITMAP MINUS' 연산 발생
라) OR 조건 실행계획
- AND 조건 실행계획과 동일
- 부정형 조건('<>') 이 OR 연산에 사용 시 하나의 비트맵 인덱스만 사용
마) 부등식(Not Equal) 비교 실행계획
- 등식 조건의 엑세스 수행 결과를 'BITMAP MINUS' 를 통하여 제거 처리
- 해당 컬럼이 NULL을 포함 시 NULL 값을 제거하는 작업 추가
바) NULL 비교 실행계획
- 비트맵 인덱스에서는 'IS NULL' 또는 'IS NOT NULL' 연산자 처리 시 NULL도 비트맵 연산에 참여
3.2.4.2 서브쿼리 실행계획
- B-Tree 인덱스일 때와 유사
- 여러 개의 서브 쿼리가 동시 사용 될 때, 스타변형 조인(비트맵 인덱스의 특성 사용)으로 수행되도록 처리 시 효율적 실행계획 수행
3.2.4.3. B-Tree 인덱스와 연합(Combine) 실행계획
- B-Tree 인덱스를 비트맵으로 전환하여 비트맵 연산 수행 가능
- "BITMAP -> ROWID" , "ROWID -> BITMAP" 으로 전환 할 수 있는 특성 이용
- 비트맵 인덱스가 전혀 없을 시 "INDEX_COMBINE" 힌트 사용으로 비트맵 엑세스 가능
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
15 | 제1장. 부분범위처리(Partial range scan) | supersally | 2010.12.01 | 12321 |
14 | 2.3.조인 종류별 특징 및 활용방안 (2/4) (2.3.2~2.3.3) | 실천하자 | 2010.12.03 | 12561 |
» | 3.2.4. 비트맵(Bitmap) 실행계획 | 실천하자 | 2010.11.08 | 12836 |
12 | 2.1. B-tree 인덱스 | 김진희 | 2010.10.04 | 13019 |
11 | 3.1. SQL과 옵티마이져 (2/3) (3.1.2.3 ~ 3.1.2.5) | 노랑배 | 2010.10.06 | 13723 |
10 | 1.1. 테이블과 인덱스의 분리형 | 실천하자 | 2010.09.13 | 13907 |
9 | 1.4. 부분범위처리로의 유도(1/2) (1.4.9) | 실천하자 | 2010.12.08 | 14430 |
8 | 2.3.조인 종류별 특징 및 활용방안 (3/4) (2.3.4~2.3.5) | 실천하자 | 2010.12.08 | 15346 |
7 | 4.1. 인덱스의 선정 기준 (2/2) (4.1.6.) [1] | 실천하자 | 2010.11.15 | 16804 |
6 | 2.3. 함수기반 인덱스(FBI, Function-Based Index) | pranludi | 2010.10.01 | 18679 |
5 | 1.4. 부분범위처리로의 유도(1/2) (1.4.1 ~ 1.4.8) | 실천하자 | 2010.11.26 | 19346 |
4 | 2.2. 비트맵(Bitmap) 인덱스 | 실천하자 | 2010.10.04 | 20929 |
3 | 4.1. 인덱스의 선정 기준 (1/2) (4.1.1.~4.1.5.) [2] | 노랑배 | 2010.11.13 | 23370 |
2 | 3.1. SQL과 옵티마이져 (3/3) (3.1.3 ~ 3.1.5) [2] | 실천하자 | 2010.10.08 | 26957 |
1 | Front Page | 운영자 | 2010.09.06 | 164252 |