索引数据结构千千万,为什么B+Tree独领风骚

索引的由来

什么是索引

索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构,可以提高查询的速度。

聚簇索引

非聚簇索引

索引存储结构

二叉树

平衡二叉树

红黑树

红黑树实际上是一颗平衡二叉树;所以在构建的过程中他会发生自平衡

①、每个节点要么红色要么黑色

②、根节点是黑色的

③、叶子节点是黑色的

④、红色节点的子节点一定是黑色的

⑤、从一个节点出发,到达任意一个叶子结点(NULL)路径上一定具有相同的黑色节点(保证了平衡度<=2)

BTree

BTree的设计主要是针对磁盘获取其他存储的一种平衡树(不一定是二叉这里往往指的是多叉)

①、至少是2阶,即至少有两个子节点 ②、对于m阶BTree来说,非根节点所包含的关键词个数j需要满足 (m/2)-1<=j<=m-1 ③、除叶子结点外,节点内关键词个数+1总是等于指针个数 ④、所有叶子结点都在同一层 ⑤、每个关键字保存实际磁盘数据

B+Tree

B+Tree 是BTree的一种变体。BTree节点里出了索引还会存储指针数据,而B+Tree仅存储索引值,这样同样空间节点能够存储更多的索引

Hash表

①、hash索引无法进行范围查询,因为上述的hash结构是没有顺序的,hash索引只能实现等于、In等查询 ②、hash值是针对元数据的一种散列运算。hash值得大小并不能反应元数据的大小。元数据a 、b对应的hash值有可能是3333、2222,而实际上上a

总结

来源:https://juejin.cn/post/7168268214713974798

页面更新:2024-04-16

标签:数据结构   索引   结点   独领风骚   节点   叶子   高度   黑色   发生   结构   数据

1 2 3 4 5

上滑加载更多 ↓
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top