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

相关推荐
U盘失踪了28 分钟前
Java 的 JAR 是什么?
java·jar
_深海凉_41 分钟前
LeetCode热题100-有效的括号
linux·算法·leetcode
今天又在写代码1 小时前
java-v2
java·开发语言
江湖人称小鱼哥1 小时前
Obsidian-Graphify-让你的笔记库自己长出知识图谱
笔记·知识图谱·obsidian·claude code·graphify·卡帕西
competes2 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
2501_913061342 小时前
网络原理知识
java·网络
希望永不加班2 小时前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
苦 涩3 小时前
考研408笔记之计算机网络(三)——数据链路层
笔记·计算机网络·考研408
flushmeteor3 小时前
java的动态代理和字节码生成技术
java·动态代理·代理·字节码生成
eggwyw3 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring