0
点赞
收藏
分享

微信扫一扫

Oracle中B-tree索引的访问方法(五)-- 索引快速全扫描

索引的访问方法之快速全扫描

索引快速全扫描(INDEX FAST FULL SCAN)是索引的各种扫描方法中,唯一会以多块读的方式来访问索引。如果把索引想象为表,则其行为类似于全表扫描。

下面,我们继续沿用索引范围扫描中创建的索引,来构建索引快速全扫描的行为并观察之。

Oracle中B-tree索引的访问方法(五)-- 索引快速全扫描_b-tree


图 51

我们还是用10200 event来跟踪对索引块访问的次序,为节省篇幅,详细的操作步骤这里不再重复,操作方法与索引唯一扫描中的相应操作是类似的。这里,只展示跟踪的结果:

Oracle中B-tree索引的访问方法(五)-- 索引快速全扫描_oracle_02


图 52

如上图所示,我们可以看到其读取索引块时,是按照数据块在文件中的顺序(块号)来读取的,并不是按照索引块在索引树形结构中的逻辑顺序读取的。

同时,在上图中,我们可以看到“0x01801e4b”这个索引块被访问了两次,其原因,在索引范围扫描部门已经做了说明,这里不再赘述。

也正是因为索引快速全扫描的这种访问方法,决定了其在全扫描过程中获取到的索引条目是不能保证有序的。

举报

相关推荐

0 条评论