WEB开发网
开发学院数据库Oracle Oracle数据库中索引树的结构与块尺寸 阅读

Oracle数据库中索引树的结构与块尺寸

 2007-05-12 12:22:29 来源:WEB开发网   
核心提示: 因此,一个Oracle索引块可能包含以下两种类型的指针:* 指向其他索引结点(数据块)的指针* 指向数据库表中特定行的行ID指针Oracle管理着索引块内指针的分配,Oracle数据库中索引树的结构与块尺寸(2),这就是为什么我们不能为索引指定一个PCTUSED值(自由列表重链接门槛)的原

因此,一个Oracle索引块可能包含以下两种类型的指针:

* 指向其他索引结点(数据块)的指针

* 指向数据库表中特定行的行ID指针

Oracle管理着索引块内指针的分配,这就是为什么我们不能为索引指定一个PCTUSED值(自由列表重链接门槛)的原因。当我们检查一个索引块的结构时,我们发现每个索引结点内部条目的数量是下面两个值的一个函数:

1. 符号键的长度

2. 索引表空间的块尺寸

由于块尺寸影响每个索引结点内部的符号键的数量,可以推理出:块尺寸对一棵索引树的结构也会有影响。在其他条件相同的情况下,采用32K的大数据块能容纳更多的符号键,从而能够比在2K表空间中创建的相同的索引更加平整。采用大的数据块也将减少索引访问期间一致获取的数量,从而提高分散读访问的性能。

索引中的每个数据块包含索引树中的“结点”,位于最底部的结点(叶数据块)包含一对符号键和行ID值。随着一棵Oracle树的增长(通过往表里插入新行),Oracle会填充这个数据块,当这个数据块满时Oracle会分裂它,创建新的索引结点(数据块)来管理索引内的符号键。因此,一个Oracle索引块可能包含指向其他索引结点或行ID/符号键对的指针。

索引行为和Oracle块尺寸

由于块尺寸影响每个索引结点内部的符号键的数量,可以推理出:块尺寸对一棵索引树的结构也会有影响。在其他条件相同的情况下,采用32K的大数据块能容纳更多的符号键,从而能够比在2K表空间中创建的相同的索引更加平整。

今天,大多数Oracle性能调优专家都利用Oracle提供的多种块尺寸的特色,因为它提供了缓冲区隔离和以最合适块尺寸来存放对象从而减少缓冲区浪费的能力。一些Oracle基准测试的世界记录都使用很大的数据缓冲区和多种块尺寸。

上一页  1 2 3 4  下一页

Tags:Oracle 数据库 索引

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接