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

相关推荐
AIGCmagic社区几秒前
灵巧手VLA真机均分71%,北大DeCAL用接触门控接入触觉
人工智能·算法·aigc·ai多模态
jaysee-sjc6 分钟前
【苍穹外卖】Day01:从零认识企业级项目开发
java·开发语言·数据库·mysql·spring·intellij-idea·mybatis
雨辰AI7 分钟前
多租户数据库资源配额管控|避免租户资源抢占雪崩(金仓 / 达梦 / 高斯 /openGauss 全库原生适配)
java·大数据·数据库·后端
AI深栈10 分钟前
第 12 章 · AI智能体的结构化输出与流式响应
java·人工智能
迷途之人不知返11 分钟前
算法系列4:前缀和
算法
君顾115 分钟前
本地AI错题纠正小程序:端侧推理与错题闭环实战
java·开发语言·错题
吠品17 分钟前
Python 写入 Excel 的两种主流方案实际用法总结
c语言·开发语言·算法
Wang's Blog20 分钟前
Java 服务器: Linux-yum在线安装与lrzsz文件传输
java·服务器
Zane199421 分钟前
归并排序和堆排序都能保证O(nlogn),为什么谁也没法把稳定和原地两个优点占全
算法·排序算法
M78佐菲23 分钟前
ARM学习笔记(三)
linux·arm开发·笔记·嵌入式硬件·学习