导航菜单

水晶头接法-Mysql 为什么要挑选 B+Tree

算法比照

二叉树

当我查找 8 的时分需求走五步

红黑树

当我查询8的时分需求四次 相对于二叉树有了一些优化 没有无限延伸.红黑树的深度会很深(深度不行操控)

h水晶头接法-Mysql 为什么要挑选 B+Treeash

数据量大的话

查询很快(不能规模查找)

BTree

查询只需求查两步就能够找到水晶头接法-Mysql 为什么要挑选 B+Tree,缺陷带友谊地久天长着(data)扩展横向削减纵向深度

ps:java拿取数据一般是这样的:java程序-->CPU--->内存---->硬盘,而内存与硬盘的交互是有巨细约束的,是一页数据4k左右,所以不能把一切数据都放在一个节点水晶头接法-Mysql 为什么要挑选 B+Tree来获取,一般来说节点会尽量预存4K容量。

B+Tree

BTree 变种B+T水晶头接法-Mysql 为什么要挑选 B+Treeree

ps:data不放在非叶子节点来添加度(小节点),一般会一百个以上使得深度是3~5,然后削减查询次数。而且,叶子节点之间会有指针,数据又是递加的,这使得咱们规模查找能够经过指针衔接查找,而不再从上面节点往下一个个找。既削减了查询次数,又水晶头接法-Mysql 为什么要挑选 B+Tree供给了规模查询.


二维码