文章插图
算法对比
二叉树
文章插图
当我查找 8 的时候需要走五步
文章插图
红黑树
文章插图
当我查询8的时候需要四次 相对于二叉树有了一些优化 没有无限延伸.红黑树的深度会很深(深度不可控制)
文章插图
hash
数据量大的话
文章插图
查询很快(不能范围查找)
BTree
文章插图
查询只需要查两步就可以找到,缺点携带(data)扩大横向减少纵向深度
ps:JAVA拿取数据一般是这样的:java程序-->CPU--->内存---->硬盘,而内存与硬盘的交互是有大小限制的,是一页数据4k左右,所以不能把所有数据都放在一个节点来获取,一般来说节点会尽量预存4K容量 。
文章插图
B+Tree
文章插图
BTree 变种B+Tree
ps:data不放在非叶子节点来增加度(小节点),一般会一百个以上使得深度是3~5,从而减少查询次数 。并且,叶子节点之间会有指针,数据又是递增的,这使得我们范围查找可以通过指针连接查找,而不再从上面节点往下一个个找 。既减少了查询次数,又提供了范围查询.
【Mysql 为什么要选择 B+Tree】
推荐阅读
- 你需要知道的 DevSecOps 流程及工具
- Mysql通讯协议分析
- 花露水能不能驱蚊 花露水需要涂全身才可以防蚊吗
- 分享mysql配置文件my.cnf一键生成器
- 古树纯料标志的重要三点,山韵 原香 生气
- 天蝎座|日本尼特族达到75万人!他们究竟为什么不工作?
- 铁观音之香
- 品壶的要素
- 需要注意的伤肾行为
- 弹簧床垫拆解丢弃 床垫不要了怎么拆解