首页 > 其他 > 详细

索引 B+Tree ; 新建索引 类型方法 BTREE 或 HASH

时间:2020-05-07 22:18:49      阅读:58      评论:0      收藏:0      [点我收藏+]

万物 归于算法 数据结构;理解更深刻
如:索引->B+Tree->最左匹配原则;左模糊查询不走索引

索引 B+ tree 平衡多路查找树+链表

叶子节点链表  支持 范围查询走索引  不过放在组合索引最后一个  知道开始的节点  结束的节点 直接取出一段链表

所以 同样范围的查询   >  <    between   比  in 效率的高  应该  

q&a:为啥不用 二叉 ?可能单从数据结构来看 时间复杂度 空间复杂度 平均查找时间 二叉更优 (待研究)但是 具体问题 具体分析 多路 减少层数  减少磁盘io

利用覆盖索引来进行查询操作,避免回表。 

 

https://blog.csdn.net/hao65103940/article/details/89032538

技术分享图片

 

 

B Tree 平衡树

何为平衡树

https://blog.csdn.net/qq_33060405/article/details/78510121

技术分享图片

 

 

扩展:自平衡树 红黑树

jdk 1.8 HashMap 数据结构由 数组+链表 改为 数组+链表/红黑树

插入时:判断链表长度是否大于8,大于8的话把链表转换为红黑树,在红黑树中执行插入操作,否则进行链表的插入操作

删除时:删除元素首先是要找到 桶的位置,然后如果是链表,则进行链表遍历,找到需要删除的元素后,进行删除;如果是红黑树,也是进行树的遍历,找到元素删除后,进行平衡调节,注意,当红黑树的节点数小于 6 时,会转化成链表。

技术分享图片

 

索引 B+Tree ; 新建索引 类型方法 BTREE 或 HASH

原文:https://www.cnblogs.com/light-train-union/p/12845541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!