顺序文件:几种简单的文件组织,其产生方式是将数据文件按某个查找键排序,并在该文件上建立索引。

稠密索引:这种索引为数据文件的每个记录设一个键-指针对。这些键-指针对按它们的键

值顺序存放。

稀疏索引:这些索引为数据文件的每个存储块设一个键-指针对。与指针相对应的键为该指针所指向的存储块中第一个键值。

多级索引:在索引文件上再建索引,在索引的索引上再建索引,等等,这在有时候是很有用的。高级索引必须是稀疏的。

文件的扩展:随着数据文件和它的索引文件的增长,必须采取一些措施来为文件增加附加的存储块。为文件的基本块增加溢出块是一种可行的办法。在数据文件或索引文件的块序列表中插入更多的块,除非要求文件本身存放在连续的磁盘块中。

辅助索引:即使数据文件没有按查找键K排序,我们也可在键K上建立索引。这样,索引必须是稠密的。

倒排索引:文件与其包含的词之间的关系通常可通过一个词-指针对的索引结构来表示。指针指向“桶”文件的某个位置,该位置上有一个指向文件中词的出现的指针列表。

B树:这些结构实质上是有着很好的扩充性能的多级索引。带有n个键和n+1个指针的存储块被组织成一棵树。叶结点指向记录。任何时候所有索引块都在半满与全满之间。

范围查询:指查找键值在给定范围内的所有记录,有索引的顺序文件和B树索引可为这类查询提供便利,但散列表索引不能。

散列表:同创建主存散列表一样,我们也可以基于辅存的存储块来建立散列表。散列函数将键值映射到桶,有效地将数据文件的记录分配到多个小组(桶)。桶用一个存储块和可能出现的溢出块表示。

动态索引:如果一个桶中的记录太多,势必降低散列表的性能,因而随着时间推移,桶的数量可能需要增加。允许合理增加桶的两种重要方法是可扩展散列和线性散列。它们都首先将键值散列到一个长位串,然后使用其中若干位来决定记录所属的桶,位的数目是可变的。

可扩展散列:这种方法允许在存在记录数太多的桶时将桶的数目加倍。它使用指向块的指针数组来表示桶。为了避免块过多,几个桶可以用同一个块表示。

线性散列:这种方法每当桶中的记录比例超出阈值时增加一个桶。由于单个桶的记录不会引起表的扩展,所以在某些情形下需要溢出块。


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html