索引的目的
简而言之,加快搜索索引结构
索引分类
聚集–非聚集
稠密–稀疏
有序–散列几种分类并不冲突
顺序索引
顺序索引前文讲过了,请参考http://blog.youkuaiyun.com/luzhangting/article/details/51497513。下面给个例子,以中间列为索引。
简单的辅助索引
B+树索引
树节点三类:根节点、叶节点、非叶节点6.1叶节点结构
6.2非叶节点结构
6.3 B+树的查询过程
B+不仅支持随机查询,也支持范围查询。
查询过程:树的遍历
查询代价:log n6.4 B+树的维护(重点)
例1:插入例子,插入Clear,B、D之间扩展,指针不够,向上扩展
这里父节点未满,引入新的节点。
例2:插入40
需要插入到第5个节点,但是节点满了,需要进行分裂,分裂成2个节点
此时父节点指针不够用,向上分裂。
此时父节点的指针又不够用了,接着向上,根节点没有满,不用分裂,可以直接插入值,此时应该插入40,因为40是这一分支追溯到叶节点的最小值。
散列索引
重点:散列函数、搜索码值,B个桶。根据B是否固定分为静态散列和动态散列。
数据库索引概念和分类
数据库索引详解:B+树与散列索引
最新推荐文章于 2025-10-11 14:11:58 发布
本文介绍了数据库索引的主要目的——加快搜索速度,并详细讲解了索引的结构和分类,包括聚集与非聚集、稠密与稀疏、有序与散列。重点探讨了B+树索引的工作原理,包括查询过程和维护机制,以及插入操作可能导致的节点扩展和分裂。此外,还提及了散列索引,强调了散列函数和桶的概念,区分了静态散列与动态散列的区别。
1051

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



