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

相关推荐
GlueNa2SiO315 小时前
07-Docker Compose多容器编排
笔记·学习·docker·容器
Mem0rin15 小时前
前缀和:中心下标与数组乘积
数据结构·算法
Lazionr15 小时前
list容器详解——双向链表的封装与使用
数据结构·c++·链表·list
snow@li15 小时前
SpringBoot:AOP日志切面全景梳理/原理+流程+实战+避坑
java·开发语言·spring boot
windliang15 小时前
Claude Code 源码分析(八):Memory 如何被写入、整理与按需召回
前端·算法·面试
ma_king15 小时前
Spring Boot 接入飞书自定义机器人
java·后端
漂流瓶jz15 小时前
UVA-12174 Shuffle的播放记录 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·图论·滑动窗口·算法竞赛入门经典·uva
2401_8949155315 小时前
部署 GEO 优化源码常见报错排查:端口、伪静态、缓存问题解决
java·运维·服务器·后端·缓存·开源
Forever Nore15 小时前
LeetCode 6 Z 字形变换 - 按行模拟
算法·leetcode
七牛开发者15 小时前
Codex 实践系列 Vol.04:用 Goal 和 Plan 管住一个长任务
java·数据库·人工智能·github·copilot