데이터베이스

데이터베이스 성능(튜닝)_비트맵 인덱스

스윙스윙 2021. 10. 1. 18:06

▣ 데이터베이스 성능(튜닝)_비트맵 인덱스

- 데이터에 해당하는 0, 1로 구성된 비트맵을 구성하고 있고, 비트맵의 조합에 의해서 데이터를 매핑하는 방식의 인덱스

- 트리기반 인덱스 대비, 저장공간 절약 및 연산 횟수 감소

- 테이블이 매우 크고 컬럼이 낮은 분포도를 가질 때 사용되며

  넓은 범위의 대량 데이터 검색(의사결정시스템)에 유용

 

Bitmap Index = Index key value + Start Rowid + End Rowid + Bitmap 엔트리

 

구분 B-트리 비트맵 인덱스
구조특징 Root block, branch block, leaf block으로 구성되며,
인덱스 깊이를 동리하게 유지하는 트리 구조
키 값을 가질 수 있는 각 값에 대해 하나의
비트맵을 구성
사용환경 OLTP DW, Mart 등
검색속도 처리 범위가 좁은 데이터 검색시 유리 다중 조건을 만족하는 데이터 검색 시에 유리
(특히, 비정형 쿼리)
분포도 데이터 분포도가 좋은 컬럼에 적합
큰 분포도(Cardinality)를 갖는 테이블에 적합
데이터 분포도가 나쁜 컬럼에 적합
적은 분포도를 갖는 테이블에 적합
장점 입력, 수정, 삭제가 용이함 비트 연산으로 OR연산, NULL값 비교 등이 가능함
단점 처리 범위가 넓을 때 수행 속도 저하 전체 인덱스 조정의 부하로 입력, 수정, 삭제가 어려움

비트맵 인덱스 생성문법

SQL> CREATE BITMAP INDEX user_gender_idx

         ON user

         TABLESPACE bitmap_idx;


2019년 59번

정답 : 3번

Bitmap Index = Index key value + Start Rowid + End Rowid + Bitmap 엔트리

3)번 Salary 값이 50000~60000사이인 직원은 비트 단위 OR연산으로 검색 가능함