메뉴 건너뛰기

bysql.net

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

2010.11.08 08:35

실천하자 조회 수:12833

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 164252
34 3.1. SQL과 옵티마이져 (3/3) (3.1.3 ~ 3.1.5) [2] file 실천하자 2010.10.08 26956
33 4.1. 인덱스의 선정 기준 (1/2) (4.1.1.~4.1.5.) [2] file 노랑배 2010.11.13 23370
32 2.2. 비트맵(Bitmap) 인덱스 file 실천하자 2010.10.04 20927
31 1.4. 부분범위처리로의 유도(1/2) (1.4.1 ~ 1.4.8) file 실천하자 2010.11.26 19346
30 2.3. 함수기반 인덱스(FBI, Function-Based Index) pranludi 2010.10.01 18679
29 4.1. 인덱스의 선정 기준 (2/2) (4.1.6.) [1] file 실천하자 2010.11.15 16804
28 2.3.조인 종류별 특징 및 활용방안 (3/4) (2.3.4~2.3.5) 실천하자 2010.12.08 15346
27 1.4. 부분범위처리로의 유도(1/2) (1.4.9) 실천하자 2010.12.08 14430
26 1.1. 테이블과 인덱스의 분리형 file 실천하자 2010.09.13 13905
25 3.1. SQL과 옵티마이져 (2/3) (3.1.2.3 ~ 3.1.2.5) 노랑배 2010.10.06 13722
24 2.1. B-tree 인덱스 file 김진희 2010.10.04 13018
» 3.2.4. 비트맵(Bitmap) 실행계획 file 실천하자 2010.11.08 12833
22 2.3.조인 종류별 특징 및 활용방안 (2/4) (2.3.2~2.3.3) file 실천하자 2010.12.03 12561
21 제1장. 부분범위처리(Partial range scan) file supersally 2010.12.01 12321
20 2.1.조인과 반복연결(loop query)의 비교 pranludi 2010.12.05 11447
19 3.2.5. 기타 특수한 목적을 처리하는 실행계획 pranludi 2010.11.09 11332
18 3.3. 실행계획의 제어 file supersally 2010.11.08 11134
17 3.2.1. 스캔(Scan)의 기본유형 [1] pranludi 2010.10.19 11072
16 3.2.3. 연산 방식에 따른 실행계획 노랑배 2010.10.18 10897