用于基数较低的列时,位图索引比b树索引更紧凑。

位图使用位图分段级别的锁定,这增加了位图索引中关键列的更新成本。 另一方面,在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;