面试题:反推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次数也非常小。

相关推荐
再睡一夏就好2 分钟前
Linux常见工具如yum、vim、gcc、gdb的基本使用,以及编译过程和动静态链接的区别
linux·服务器·c语言·c++·笔记
剁椒排骨2 分钟前
win11什么都不动之后一段时间黑屏桌面无法显示,但鼠标仍可移动,得要熄屏之后才能进入的四种解决方法
运维·windows·经验分享·计算机外设·win11·win10
Java技术小馆5 分钟前
SpringBoot中暗藏的设计模式
java·面试·架构
xiguolangzi6 分钟前
《springBoot3 中使用redis》
java
李菠菜13 分钟前
非SpringBoot环境下Jedis集群操作Redis实战指南
java·redis
丶Darling.21 分钟前
26考研 | 王道 | 数据结构 | 第八章 排序
数据结构·考研·排序算法
不当菜虚困25 分钟前
JAVA设计模式——(四)门面模式
java·开发语言·设计模式
俺的图图呢?28 分钟前
Django笔记——CSRF
笔记·django·csrf
BB_CC_DD29 分钟前
四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)
深度学习·算法·聚类
m0Java门徒33 分钟前
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
java·运维·开发语言·intellij-idea·idea