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

相关推荐
样例过了就是过了32 分钟前
LeetCode热题100 最大子数组和
数据结构·算法·leetcode
BackCatK Chen36 分钟前
第十五章 吃透C语言结构与数据形式:struct/union/typedef全解析
c语言·开发语言·数据结构·typedef·结构体·函数指针·联合体
CHANG_THE_WORLD39 分钟前
指针入门一
java·前端·网络
时艰.40 分钟前
订单系统读写分离方案设计与实现
java
铸人41 分钟前
再论自然数全加和 - 欧拉伽马常数
数学·算法·数论·复数
前端小菜袅42 分钟前
Rollup 构建流程梳理笔记
笔记
014-code1 小时前
MySQL 事务隔离级别
java·数据库·mysql
『往事』&白驹过隙;1 小时前
C/C++中的格式化输出与输入snprintf&sscanf
linux·c语言·c++·笔记·学习·iot·系统调用
hrhcode1 小时前
【Netty】三.ChannelPipeline与ChannelHandler责任链深度解析
java·后端·spring·springboot·netty
m0_531237171 小时前
C语言-变量,枚举常量,字符串,打印类型,转义字符
c语言·数据结构·算法