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

相关推荐
吃好睡好便好8 小时前
创建全0矩阵和全1矩阵
开发语言·学习·线性代数·算法·matlab·信息可视化·矩阵
2501_943205058 小时前
【206期】Win10/11打印机共享故障,全自动修复工具
经验分享
monkeyhlj8 小时前
Harness理解学习
java·人工智能·python·学习·ai编程
西凉的悲伤8 小时前
SpringBoot WebClient 介绍
java·spring boot·后端·webclient
Simon523148 小时前
mybatis执行流程、关联映射、注解开发
java·开发语言·mybatis
冷雨夜中漫步8 小时前
SQLite 深度解析:在 Java/Spring 中的使用与H2、Derby对比
java·spring·sqlite
laufing8 小时前
Java 模板引擎 FreeMarker 入门教程:语法、内建函数与常用案例
java·freemarker
happymaker06268 小时前
LeetCodeHot100——128.最长连续序列
算法
wengqidaifeng8 小时前
C++从菜鸟到强手:2.类和对象(上)—— 从结构体到类的跨越
java·开发语言·c++
自律懒人8 小时前
2026年AI编程工具横评:Trae、Cursor、Claude Code、Copilot X,同一需求谁更强?
java·copilot·ai编程