稠密索引与稀疏索引
对于主文件中的每一记录(形成的每一个索引字段值),都有一个索引项与它对应,指明该记录所在位置,这样的索引称为稠密索引。
对于主文件中的部分记录(形成的索引字段值),有索引项和它对应,这样的索引称为非稠密索引或稀疏索引。
主索引和辅助索引
- 主索引:每一存储块有一个索引项,索引项的总数与存储表所占的存储块数目相同,存储表的每一存储块的每一记录又称为锚记录,或称为块锚。主索引的索引字段为块锚的索引字段值,而指针指向其所在的存储块。主索引是稀疏索引。
- 辅助索引是定义在主文件的任一或多个非排序字段上的辅助存储结构。辅助索引通常是对某一非排序字段上的每一个不同值有一个索引项,索引字段即是该字段的不同值,而指针则指向包含该记录的块或该记录本身。辅助索引是稠密索引。
聚簇索引与非聚簇索引
- 聚簇索引:指索引中临近的记录在文件中也是临近存储的。
- 非聚簇索引:值索引中临近的记录在文件中不一定是临近存储的。
B树索引与B+树索引略
散列索引
- 静态散列索引:桶的数目M不变。
- 动态散列索引:桶的数目随键值增多而动态增加。
- 可扩展散列索引:
- 线性散列索引:背景(桶的数目过快增长,利用率不足)