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

相关推荐
kyrie_sakura6 小时前
python学习笔记 7--- 文件(IO)操作
笔记·python·学习
剑指offer.6 小时前
Linux多任务-线程篇
java·jvm·算法
2601_962063976 小时前
Spring Boot拦截器(Interceptor)详解
java·spring boot·后端
这是程序猿6 小时前
深入剖析Java HashMap:底层原理、数据结构与核心机制全解析
java·开发语言·数据结构
不才不才不不才7 小时前
Spring 源码系列(25): @EnableTransactionManagement 与 TransactionInterceptor
java·数据库·spring
nike0good7 小时前
CF 126B(Password-z algorithm/exkmp)
开发语言·c++·算法
隔窗听雨眠7 小时前
CI/CD测试数据清理完全指南:从污染根因到三层清理覆盖的完整方案
java·数据库·ci/cd
北风toto7 小时前
软件设计师(中级)做题笔记
笔记
Query*7 小时前
Agent 开发之项目 AI 能力自我进化:通过浏览器自动化与数据采集实现持续学习
java·人工智能·ai·自动化
从零开始的嵌入式之旅7 小时前
day32
linux·c语言·经验分享·笔记·嵌入式硬件