oracle10g r2_sql tuning_bitmap index點陣圖索引_index效能小測試

wisdomone1發表於2010-08-26

conn scott/system

create t_only as select * from dba_objects;

insert /*+ append */ into t_only select * from t_only;

--重複執行多次以上語句,以增大t_only資料量

select owner from t_only where object_type='x';

創始如此索引,就可以非常快速取得查詢結果,並不用回表

create index idx_two on t_only(object_type,owner);

然後檢視執行計劃

set autot trace exp stat

果真如此

但如果對上查詢where及select 結果列構建點陣圖索引

檢視執行計劃卻是index range scan,且有回表

 

++++++++++++++++++++++++++++++++++++++++++++

繼結測試點陣圖索引與B樹索引的儲存空間對比

create  bitmap index idx_bit_two on t_only(object_type,owner);

 

select segment_name,bytes/1024/1024 mb from user_segments

  where segment_name in('IDX_TWO','IDX_BIT_TWO');

 

 B樹索引大小為

   50m

而點陣圖索引大小卻僅僅為

0.8m

 

這就是二者的對比

 

小結:

  bitmap一般用於dw,且用於列值重複值極高的情況

   如用於dml(oltp)下,就會鎖住許多行,影響並行的進行

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-671953/,如需轉載,請註明出處,否則將追究法律責任。

相關文章