[답변]쿼리 수행시에 Bitmap Index와 BTree Index를 동시에 사용가능한가요? 0 0 2,685

by 이지웅 [2008.02.26 12:57:03]


bitmap인덱스와 btree인덱스의 동시이 사용 가능합니다.

 

또한 현님의 말씀처럼 실행계획이 풀릴 수 도 있으나 비트맵인덱스의 실행계획안에 btree인덱스를 이용한 엑세스패스가 포함될 수도 있습니다.


create table tbl1 (
keydata varchar2(500),
tdate varchar2(8),
tdata varchar2(2000)
) tablespace tbs
pctfree 5
pctused 95;

create index tbl1_idx on tbl1(keydata);
;alter table tbl1 add(
sex varchar2(1)
);

 

update tbl1
   set sex = mod(rownum, 2);

create bitmap index tbl_bt_idx on tbl1(sex);

analyze table tbl1 compute statistics;

 

select /*+ index(tbl1 tbl_bt_idx) */ *
  from tbl1
 where keydata like '1%'
   and sex = '1'
;

//비트맵인덱스를 사용할 경우 기존 b-tree인덱스가 있는 경우 함께 사용되는 실행계획을 세우는 경우도 있다.
SELECT STATEMENT CHOOSE 69.8587020986092 29 19691     
  TABLE ACCESS(BY INDEX ROWID) TESTER.TBL1 ANALYZED 69.8587020986092 29 19691     
    BITMAP CONVERSION(TO ROWIDS)         
      BITMAP AND         
        BITMAP INDEX(SINGLE VALUE) TESTER.TBL_BT_IDX         
        BITMAP CONVERSION(FROM ROWIDS)         
          SORT(ORDER BY)         
            INDEX(RANGE SCAN) TESTER.TBL1_IDX ANALYZED 25       

 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입