当用于低基数列时,位图索引比 B 树索引更紧凑。
由于位图使用位图段级锁定,所以位图索引中的键列的更新成本较高;而在 B 树索引中,锁位于与表中单个行相对应的项上。
位图索引可用于执行位图布尔等操作。Oracle 服务器可以使用两个位图段执行逐位布尔操作并得到一个结果位图。这将允许在使用布尔谓词的查询中更有效地使用位图。
总之,B 树索引更适合索引动态表的 OLTP 环境,而位图索引更适合在大型静态表上使用复杂查询的数据仓库环境。
例如,表 CML_ONLINE_CASHIER中有一个EXP_STATUS字段,该字段只会出现('P','R','O','E','C')五种值,因此可以考虑在该字段上建位图索引。
CREATE BITMAP INDEX IDX_1000008_201 ON CML_ONLINE_CASHIER(EXP_STATUS) TABLESPACE CISTS_IDX_01;
本文探讨了在大型静态表上使用位图索引的优势,特别针对Oracle服务器如何利用位图段级锁定执行高效查询。以CML_ONLINE_CASHIER表为例,通过在EXP_STATUS字段上建立位图索引,展示其在数据仓库环境中的应用及性能提升。
1397

被折叠的 条评论
为什么被折叠?



