面试题:反推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 分钟前
Java中的dto是什么
java·开发语言·java中的dto是什么·java的dto是什么·dto在java中是什么
He BianGu4 分钟前
【笔记】WPF中CachingHint的功能
笔记·wpf
七牛云行业应用4 分钟前
Muse Spark Open 发布:Meta 称其为美国最强开放权重模型,816B 参数如何落地
算法
小蒜学长7 分钟前
基于Springboot+Vue的高校教师教学业绩综合管理系统的设计与开发(代码+数据库+LW)
java·数据库·spring boot·后端·教学业绩管理·三级权限
Mikko79 分钟前
Spring Boot 3.5.16 自带的 Tomcat 10.1.55 中了哪些 CVE?其中一条是修上一个漏洞时带进来的
java·spring boot·后端·安全·tomcat
十年Java程序媛13 分钟前
Java 内部类全解|成员 / 静态 / 匿名内部类,理清和 Lambda 的区别
java·spring boot·面试
esop轻Mes看板亮灯分拣ESD静电安22 分钟前
产线“最后一米”的破局密码:ESOP与MES的区别与深度协同
算法
动词ing23 分钟前
[题目练习】三数之和
数据结构
问心无愧051325 分钟前
[ACTF2020 新生赛]Exec
运维·服务器·笔记
SL_staff25 分钟前
报工≠打卡:从任务报工到闭环管控的5个数据断点排查清单
java·spring boot·全栈