关系型数据库索引

索引是对数据库表中一个或多个列的值进行排序的数据结构,用于协助快速查询、更新数据库表中数据。索引的实现通常使用B_TREE及其变种。

1). 索引的底层实现原理和优化

在数据结构中,我们最为常见的搜索结构就是二叉搜索树和AVL树(高度平衡的二叉搜索树,为了提高二叉搜索树的效率,减少树的平均搜索长度)了。然而,无论二叉搜索树还是AVL树,当数据量比较大时,都会由于树的深度过大而造成I/O读写过于频繁,进而导致查询效率低下,因此对于索引而言,多叉树结构成为不二选择。特别地,B-Tree的各种操作能使B树保持较低的高度,从而保证高效的查找效率。

口语化描述: 无论时二叉树还是AVL树, 当数据两比较大的时候都会因为树的高度过大而造成io读写过于频繁,导致查询效率低下,解决方法就是多叉树。 B-Tree的各种操作能使树保持较低的高度,从而保证高效查询。

一棵m阶的B-tree应满足的性质:

B-tree中,每个结点包含:
1、本结点所含关键字的个数;
2、指向父结点的[指针];
3、关键字;
4、指向子结点的指针;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容