暂无图片
Mysql中B+树的一般多少层就可以了
我来答
分享
小七
2022-11-25
Mysql中B+树的一般多少层就可以了

Mysql中B+树的一般多少层就可以了

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
zhangyfr

一般情况下,我们用到的B+树都不会超过4层!

假设一条数据记录大小是160B,那么一个磁盘页(16K)最多可以存放100条数据。而目录页由于只需要存放数据记录的最小主键值和数据记录页的地址,因此一个磁盘页存放的目录项数据肯定比数据项个数多,假设能存放1000条。

如果B+树只有1层:一个磁盘页(16K)最多可以存放100条数据。
如果B+树有2层:最多能存放1000 × 100 = 10,0000(10万条数据)
如果B+树有3层:最多能存放1000 × 1000 × 100 = 1,0000,0000(1亿条数据)
如果B+树有4层:最多能存放1000 × 1000 × 1000 × 100 = 1000,0000,0000(1000亿条数据)
因此1000亿条数据,通过主键值去查找最多只需要加载4次磁盘页(3次目录项页、1次用户数据记录页)就可以找到数据,并且每一个页面内还有Page Directory(页目录),也就是可以通过二分法快速定位,不用通过链表一个一个地查询。

暂无图片 评论
暂无图片 有用 0
暂无图片
游湖

一般不大于4

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏