面试题:反推B+树高度

一个表5000w数据,一个数据行大小为1k,主键为long类型数据,假设指针大小为8B,页大小为16K,求B+树的高度?

B+树的非叶子节点存储key和指针,叶子节点存储数据,对应表中的某些行。

叶子节点存储的行数:16k/1k=2^4

需要叶子节点数:5000w/2^4

一个索引页能存储的索引个数:16k/(8+8)=2^10

树的高度:(2^10)^(h-1)=5000w/2^4

得出h≈3.15

千万级别的数据,b+树的高度也能维持3~5的高度,io次数也非常小。

相关推荐
✿ ༺ ོIT技术༻3 分钟前
剑指offer第2版:动态规划+记忆化搜索
算法·动态规划·记忆化搜索
Percep_gan7 分钟前
idea的使用小技巧,个人向
java·ide·intellij-idea
缘来是庄8 分钟前
设计模式之迭代器模式
java·设计模式·迭代器模式
Liudef0614 分钟前
基于HTML与Java的简易在线会议系统实现
java·前端·html
JosieBook24 分钟前
【Java编程动手学】Java常用工具类
java·python·mysql
oioihoii27 分钟前
C++11标准库算法:深入理解std::none_of
java·c++·算法
赵谨言41 分钟前
基于物联网架构的温室环境温湿度传感器节点设计
经验分享·毕业设计
老虎06271 小时前
数据结构(Java)--位运算
java·开发语言·数据结构
yanjiaweiya1 小时前
云原生-集群管理续
java·开发语言·云原生