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

相关推荐
Wang's Blog1 分钟前
Java框架快速入门: Spring Security+OAuth2之字段验证与自定义验证注解实战
java·算法·spring
CodeStats2 分钟前
【Java 类加载器】Java 类加载器完整体系深度拆解(上):从 JVM 启动到双亲委派模型
java·开发语言·jvm·classloader·双亲委派
带多刺的玫瑰7 分钟前
Leecode#29刷题之两数相除
java·python·算法
smj2302_796826529 分钟前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode
午彦琳13 分钟前
2026.9.9
数据结构·算法·leetcode
luj_176816 分钟前
中锋卡位与开放线博弈
c语言·开发语言·网络·经验分享·算法
祁白_16 分钟前
防御引擎绕过方法
笔记·web安全·php·防御引擎
tianxuanjg18 分钟前
工业/协作机器人不锈钢精密零件批量加工难点与量产解决方案
人工智能·经验分享·机器人·无人机·制造
洋不写bug24 分钟前
二叉树(四)经典算法题目解析,公共祖先,二叉树构造,非递归遍历
数据库·算法·二叉树·二叉树构造·公共祖先
志尊宝40 分钟前
Vue3 零基础每日笔记(009):watch 侦听器——数据一变就“做事“
vue.js·笔记·缓存