▣ 데이터베이스 성능(튜닝)_비트맵 인덱스
- 데이터에 해당하는 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연산으로 검색 가능함