메뉴 건너뛰기

bysql.net

3.2.4. 비트맵(Bitmap) 실행계획

2010.11.07 23:35

실천하자 조회 수:18624

3.2.4. 비트맵(Bitmap) 실행계획


3.2.4.1. 조건 연산자별 비트맵 실행계획

가) 동치(Equal) 비교 실행계획

    • 가장 단순한 형태로 하나의 컬럼 '=' 로 비교한 경우
    • 'IN' 사용 시 여러개의 '=' 를 사용한 것과 동일
    • 비트맵 검색 처리를 'SINGLE VALUE'로 나타냄
BIT_1.png

BIT_2.png



나) 범위(Range) 비교 실행계획

    • 범위를 나타내는 BETWEEN, LIKE, >, <, >=, <= 연산자 사용 시 'RANGE SCAN'
    • Number 타입의 컬럼에 LIKE 사용 시 
      • B-Tree 인덱스 : 인덱스를 사용하지 않음  ∵ 내부적인 변형 발생
      • Bitmap 인덱스 : 인덱스 'FULL SCAN' 실행계획 발생
BIT_3.png


다) AND 조건 실행계획

    • 각 컬럼을 자신의 단위 액세스를 수행 후 그 결과를 AND 연산 실시
    • 비트맵을 범위 스캔 시, 각 인덱스 처리 후 비트맵 머지 결과를 'AND' 연산 실시
    • NOT EQUAL 조건과 함께 AND 조건 사용 시 'BITMAP MINUS' 연산 발생

BIT_4.png



라) OR 조건 실행계획

    • AND 조건 실행계획과 동일
    • 부정형 조건('<>') 이 OR 연산에 사용 시 하나의 비트맵 인덱스만 사용

BIT_5.png



마) 부등식(Not Equal) 비교 실행계획

    • 등식 조건의 엑세스 수행 결과를 'BITMAP MINUS' 를 통하여 제거 처리
    • 해당 컬럼이 NULL을 포함 시 NULL 값을 제거하는 작업 추가

BIT_6.png



바) NULL 비교 실행계획

    • 비트맵 인덱스에서는 'IS NULL' 또는 'IS NOT NULL' 연산자 처리 시 NULL도 비트맵 연산에 참여

BIT_7.png




3.2.4.2 서브쿼리 실행계획

  • B-Tree 인덱스일 때와 유사
  • 여러 개의 서브 쿼리가 동시 사용 될 때, 스타변형 조인(비트맵 인덱스의 특성 사용)으로 수행되도록 처리 시 효율적 실행계획 수행



3.2.4.3. B-Tree 인덱스와 연합(Combine) 실행계획

  • B-Tree 인덱스를 비트맵으로 전환하여 비트맵 연산 수행 가능 
    • "BITMAP -> ROWID" , "ROWID -> BITMAP" 으로 전환 할 수 있는 특성 이용
  • 비트맵 인덱스가 전혀 없을 시 "INDEX_COMBINE" 힌트 사용으로 비트맵 엑세스 가능
BIT_8.png

번호 제목 글쓴이 날짜 조회 수
35 Front Page file 운영자 2010.09.06 170080
34 1.3. 클러스터링 테이블 file 노랑배 2010.09.09 15121
33 1.2. 인덱스 일체형 테이블(Index-Organized Table) 실천하자 2010.09.12 14862
32 1.1. 테이블과 인덱스의 분리형 file 실천하자 2010.09.12 19760
31 2.3. 함수기반 인덱스(FBI, Function-Based Index) pranludi 2010.10.01 24494
30 2.2. 비트맵(Bitmap) 인덱스 file 실천하자 2010.10.03 26807
29 제2장. 인덱스의 유형과 특징 휘휘 2010.10.03 13114
28 2.1. B-tree 인덱스 file 김진희 2010.10.04 18829
27 3.1. SQL과 옵티마이져 (2/3) (3.1.2.3 ~ 3.1.2.5) 노랑배 2010.10.05 19327
26 3.1. SQL과 옵티마이져 (3/3) (3.1.3 ~ 3.1.5) [2] file 실천하자 2010.10.07 32605
25 3.1. SQL과 옵티마이져(1/3) (3.1.1 ~ 3.1.2.2) supersally 2010.10.12 11532
24 3.1. SQL과 옵티마이져 (1/3) (3.1.1 ~ 3.1.2.2) 실천하자 2010.10.12 12458
23 3.2.3. 연산 방식에 따른 실행계획 노랑배 2010.10.18 16700
22 3.2.2. 데이터 연결을 위한 실행계획 supersally 2010.10.18 16032
21 3.2.1. 스캔(Scan)의 기본유형 [1] pranludi 2010.10.18 16759
20 3.2 실행계획의 유형 pranludi 2010.10.18 10761
» 3.2.4. 비트맵(Bitmap) 실행계획 file 실천하자 2010.11.07 18624
18 3.3. 실행계획의 제어 file supersally 2010.11.08 16045
17 3.2.5. 기타 특수한 목적을 처리하는 실행계획 pranludi 2010.11.09 16073
16 4.1. 인덱스의 선정 기준 (1/2) (4.1.1.~4.1.5.) [2] file 노랑배 2010.11.12 29052