http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#CHDJGADJ
本文内容
- 索引块格式化
- 索引内部结构
- 索引属性
- B-tree 结构的优势
- 参考资料
当创建索引时,Oracle 数据库自动分配索引段以便在表空间保存索引数据。你可以控制为索引段的空间分配,并按下面方式使用这个已保留的空间:
- 为索引段设置存储参数,以控制索引段的扩展。
- 为索引段设置 PCTFREE 参数,以控制构成索引段的数据块中的空闲空间。
索引段的表空间或是拥有者的默认表空间,或是 CREATE INDEX 语句指定的一个表空间。你不必把索引放在与其相关表相同的表空间。因此,你可以通过把索引与其表存储在不同磁盘的不同表空间来提高查询性能,因为,Oracle 数据库可以并行检索索引和表数据。
B-tree 是一种常见的数据结构,也称多路搜索树,并不是二叉树。B-tree 结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。B 通常是 Balance 的简称。该结构一般用于数据库的索引,综合效率较高。B-tree 主要应用在 OLTP 系统(事务方面),而 Bitmap 主要是在 OLAP(分析方面)。
索引块格式化
索引数据的可用空间是 Oracle 数据库的块大小减去块的开销、条目开销、rowid 和每个已索引值的字节长度。
当你创建索引时,Oracle 数据库读取和排序已索引的列,并把 rowid 随每行的索引值一起存储。之后,Oracle 数据库从下往上加载索引。例如,下面语句:
ON employees(last_name);