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

相关推荐
野犬寒鸦几秒前
从零起步学习计算机操作系统:进程篇(基础知识夯实)
java·服务器·后端·学习·面试
EE工程师1 分钟前
数据结构篇 - C语言如何实现OOP
数据结构·oop
业精于勤_荒于稀1 分钟前
服务器配置
java·服务器·jvm
Barkamin10 分钟前
堆排序简单实现
java·数据结构·算法·排序算法
小江的记录本12 分钟前
【TCP】TCP三次握手与四次挥手(系统性知识体系+对比表格)
java·服务器·网络·网络协议·tcp/ip·http·tcp
闻哥15 分钟前
MySQL索引核心原理:B+树生成、页分裂与页合并全解析
java·jvm·b树·mysql·adb·面试·springboot
蜡台17 分钟前
Android Gradle 项目下载编译失败解决---持续更新
android·java·kotlin·gradle
迈巴赫车主18 分钟前
天梯赛 L2-004 这是二叉搜索树吗?java
java·开发语言·数据结构·算法·天梯赛
沐苏瑶29 分钟前
Java 数据结构精讲:二叉树遍历算法与底层实现剖析
数据结构·算法
李昊哲小课1 小时前
NumPy 完整学习笔记
笔记·python·学习·数据分析·numpy