顺序索引
1、稠密索引:对应文件中搜索码的每一个值有一个索引记录。索引记录包括搜索码值以及指向具有该搜索码值的第一个数据记录的指针。可更快定位记录。
2、稀疏索引:只为搜索码的某些值建立索引记录。占空间较小,插入和删除时的维护开销较小。
多级索引
在主索引上构造一个稀疏索引,如果要搜索一个记录,首先在外层索引上用二分法找到不大于所需搜索码值的最大收缩码值锁对应的记录。指针指向一个内层索引块。我们对这一块做扫描,知道找不到不大于所需搜索码值的最大搜索码值所对应的记录。这一记录的指针指向包含所查找记录的文件块。
B+树索引文件
典型的B+树结点结构最多包含n-1个搜索码值,以及n个指针,马格结点中的索引码值按次序存放。

散列索引
动态散列法:
开始时,散列值的b位不必全部使用,任意时刻使用的位数i满足0<=i<=b。这样的i个位作为附加的桶地址表的入口偏移量。i的值伴随着数据库大小的变化而增大或减小。

图中出现在桶地址上方的i表明散列值h(K)中有i位需要用来决定对应于K的桶。几个连续的表项可能指向同一个桶,它们有一个共同的散列前缀,其长度可能小于i。因此,给每一个桶附加一个整数值,用来表明共同的散列前缀长度。附加给桶j的证书是ij。桶地址表中指向桶j的表项数目为2^(i-1)。为了确定含有搜索码值Ki的桶的位置,先找到h(Ki)高i为二进制字串对应的表项,再根据表项中的指针来得到桶的位置。
比较
索引

本文详细介绍了索引的类型,包括稠密索引和稀疏索引,并探讨了多级索引和B+树索引的概念。同时,阐述了散列索引的工作原理,特别是动态散列法,并对比了索引和散列在不同查询场景下的优缺点。最后,讨论了多码访问的解决方案,如网格文件和分段散列,以及如何根据查询需求和系统特性选择合适的访问方法。

1834

被折叠的 条评论
为什么被折叠?



