详解数据库的索引主要类型 数据库的索引类型有哪些( 二 )


优点:B+ 树的信息全部存放在叶子节点中 , 非叶子节点用来做索引 , 且叶子节点中有一个指针指向下一个叶子节点 , 这样做的目的是为了提高区间访问的性能 。而正是这个特性决定了 B+ 树更适合用来存储外部数据 。
散列索引1. 散列文件组织在散列的描述中 , 用散列桶来表示可以存放存储一条或多条记录的一个存储单位 , 通常一个桶就是一个磁盘块 。通过散列函数计算搜索码值的散列值 , 并根据散列值来决定包含该搜索码值的记录该存储在哪个桶中 。
散列文件的操作有:
查找:设带查找记录的搜索码值为 Ki , 通过计算 h(Ki) 获取存储该记录的桶地址 , 然后到相应的桶中搜寻此记录 , 如果桶中没有找到 , 且存在溢出桶 , 还需要继续到溢出桶中寻找 。插入:插入一条搜索码值为 Ki 的记录 , 通过计算 h(Ki) 获得存储该记录的桶地址 , 然后就将该记录存入相应的桶(或溢出桶)中 。删除:待删除记录的搜索码值为 Ki , 通过计算 h(Ki) 获得存储该记录的桶地址 , 然后到相应的桶(或溢出桶)中搜寻此记录并删除它 。溢出桶:如果一条记录必须插入桶 b 中 , 而桶 b 已满 , 系统会为桶 b 提供一个溢出桶 , 并将此记录插入到这溢出桶中 。所有溢出桶用一个连接链表连接在一起 , 形成溢出链 。
闭散列:溢出链的散列结构 。
开散列:另一种接近溢出的方式 , 它的桶的数量是固定的 , 当一个桶满了 , 系统将记录插入到其他桶去 , 选择其他同的策略有:
使用下一个未满的桶 , 该策略称为线性探查法;用进一步计算散列函数的方法 。2. 散列索引散列索引将搜索码值及其相应的文件记录(或文件块)指针组织成一个散列索引项 。散列索引的构建方法:
将散列函数作用于一条文件记录的搜索码值 , 以确定该文件记录所对应的散列索引项的散列桶 。将由该搜索码值以及相应文件记录(或文件块)指针组成的散列索引项存入散列桶(或溢出桶)中 。散列索引只能是一种辅助索引结构 。
散列是非聚簇索引 , 故只能做辅助索引 。散列是稠密索引 , 如果其是聚簇索引的话 , 那么就成为了主索引了 。散列索引特点:散列其实就是一种不通过值的比较 , 而通过值的含义来确定存储位置的方法 , 他是为有效地实现等值查询而设计的 。不幸的是 , 基于散列技术不支持范围检索 , 而基于 B+ 树的索引技术能有效地支持范围检索 。但是 , 散列技术在等值连接等操作是很有用的 , 尤其是在索引嵌套循环连接方法中 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: