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

相关推荐
邵奈一20 小时前
当沉香之乡遇上 Seed-2.1-pro:我用 AI 给村子做了一个数字门面
算法·架构
2401_8501220420 小时前
高温耐油热缩套管选型:材料、温度和油液要匹配
经验分享·笔记·科技·学习
mmm.c20 小时前
Redis 两级缓存 + Pub/Sub 广播:一次为抗高并发做的缓存改造
java
yexianglunbai20 小时前
中间件(Middleware)详解:概念、作用与实战
java·开发语言·中间件
叶总没有会20 小时前
OpenFeign
java·开发语言·springcloud·openfeign
小七在进步20 小时前
类和对象(四)
java·javascript·ajax
海天一色y20 小时前
图像分割全解析:从经典算法到深度学习的原理与实战(Python + MATLAB)
python·深度学习·算法
白帽攻防录20 小时前
SRC 挖洞:Apache Tomcat 加密拦截器绕过深度复盘,CVE-2026-34486 fail-open 一行代码怎么打穿集群通信
java·网络安全·tomcat·apache
后端LV20 小时前
三级缓存的两个失效盲区,我用 binlog 和消费组广播补上了
java·架构
写了20年代码的老程序员20 小时前
想让 AI 改 Bug 快准狠?先给日志加个业务代码坐标
java·后端·apache log4j