位图使用位图分段级别的锁定,这增加了位图索引中关键列的更新成本。 另一方面,在b树索引中,与表中的各个行相对应的条目具有锁。
位图索引可用于位图布尔运算等。 Oracle服务器可以使用两个位图段执行逐位布尔运算,以获得结果的位图。 这样可以更有效地在使用布尔谓词的查询中使用位图。
这意味着b树索引适合于对动态表进行索引的OLTP环境,而位图索引适合于在大型静态表中使用复杂查询的数据仓库环境。
例如,表CML_ONLINE_CASHIER包含EXP_STATUS字段。 由于此字段只显示“p”、“r”、“o”、“e”和“c”五个值,因此请考虑在此字段中创建位图索引。
createbitmapindexidx _ 100008 _ 201 on CML _ online _ cashier (exp _ status ) TABLESPACE CISTS_IDX_01;