万物 归于算法 数据结构;理解更深刻
如:索引->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