同学你好,B+树1层可放468行数据,2层 56.3万,3层 6.77 亿,4 层8140亿,相信一般很难达到这个数据量,确实层数增加会增加 IO 次数,所以使用者也需要控制,尽量避免数据量过大。层数是随着数据量变化的
非常感谢回复。但是答案并不是我想要的,可能我表述的有点啰嗦,没突出重点。 问题是,B+树的阶数是如何确定的,是创建数据结构的时候就确定了一个数字M,还是这个阶数可以动态变化?
我的理解是,B+树属于平衡树家族的树,这种数据结构有其特定的算法,会根据插入修改的数据自动生成对应的树结构,就好像红黑树一样,数据的增删改必须满足红黑树的5个基本定义,估计B+树内部也有一套自己需要满足的规则,是吧,老师
数据少的是时候,是树最少是2层,慢慢的数据增多,树变为3层,一般公司数据量很难填满3层,在多的数据就要分库分表了。老师解释的很清晰,只是你没看懂而已;
这个算法似乎有点问题呀
有个问题请教下,可能自己理解有问题。 假设一个3阶的B+树此时有三层,并且已经满了,如果再插入数据,树就会变成四层了吧,给四层继续插入,总有一个时刻四层也会满,树就变成了5层。 这样的话,层数增加不是会增加IO次数吗? 我觉得层数的增加是阶数限制造成的,那么,一个B+树的阶,是在什么时候确定的,是创建的时候吗,一个固定值M?还是阶数可以随着数据的增加而发生变化