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

相关推荐
gfdhy3 分钟前
【Linux】服务器网络与安全核心配置|静态IP+SSH加固+防火墙,公网服务器必学实操
linux·服务器·网络·tcp/ip·算法·安全·哈希算法
是晴天呀。9 分钟前
火山引擎接入项目
java·火山引擎
Frostnova丶13 分钟前
LeetCode 1888 使二进制字符串交替的最少翻转次数
算法·leetcode
王码码203517 分钟前
Flutter for OpenHarmony:es_compression — 高性能 Brotli 与 Zstd 算法实战
算法·flutter·elasticsearch
白鲸开源25 分钟前
(三)ODS/明细层落地设计要点:把数据接入层打造成“稳定可运维”的基础设施
大数据·数据结构·数据库
隔壁小邓41 分钟前
Spring-全面讲解
java·后端·spring
苏纪云44 分钟前
蓝桥杯知识点——day2
数据结构·算法·蓝桥杯
Wect1 小时前
LeetCode 52. N 皇后 II:回溯算法高效求解
前端·算法·typescript
读研的武1 小时前
Golang学习笔记 入门篇
笔记·学习·golang
JustMove0n1 小时前
互联网大厂Java面试全流程问答及技术详解
java·jvm·redis·mybatis·dubbo·springboot·多线程