位图索引,是Oracle数据库中除了B树索引外,另外一种支持的索引。这种索引的存储结构是按照“索引键值+对应ROWID下限+对应ROWID上限+位图段”形式组成的。其中位图段是按照压缩方式存储的,内容就是一连串0和1。对应位ROWID是这个索引键值就是1,否则就是0。
B树索引的扫描过程是首先从数据字典中到索引段头的块地址,这个块地址后面的块就是索引根节点块地址。通过根节点定位到分支节点,再通过分支节点定位到下一级分支节点,直到最后定位到叶子节点。然后由定位到的叶子节点确定的扫描方向,从左向右或从右向左扫描。注意无论是向左还是向右扫描,都是一个有序的结果。在从索引中扫描到数据,包括ROWID之后,如果所获得的数据已经满足需要,则将数据返回给上一步;否则需根据ROWID,再从表中获得数据返回上一步。