bitmap join index 是数据仓库优化的重要方法之一。
它比oracle的bitmap索引星型转换的速度要快很多。
具体如下:
[@more@]创建bitmap join index语句如下:
CREATE BITMAP INDEX cust_sales_bji
ON sales(c.cust_city)
FROM sales s, customers c
WHERE c.cust_id = s.cust_id;
这样的话,就省掉了事实表与维度表相关联的操作。
使用bitmap join index的前提是:
optimizer_features_enable > 9.0.0
_index_join_enabled = TRUE
optimizer_mode=choose,并且对表和索引做过统计信息收集。
在关联字段上有主外键约束,或者唯一性约束。
好处:
-具有良好的join查询性能
-特别适合星期模型下大的维度表
坏处:
– 需要很多这样的索引,最多每个维度表的字段上面都需要一个,以应付各种查询条件。
- 维护成本高。
其他:
bitmap join index可以包含一个或多个维度表
可以使用 INDEX_JOIN/INDEX_COMBINE来强制使用bitmap join index.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26224278/viewspace-1793762/ ,如需转载,请注明出处,否则将追究法律责任。