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

相关推荐
LuminousCPP14 小时前
数据结构-二叉树(三):堆复杂度证明与 Top-K 问题|错位相减推导 + 海量数据内存优化
c语言·数据结构·笔记·排序算法
qq74223498414 小时前
Gradio 极简入门:三分钟为AI模型打造交互界面,并对比Streamlit与Dash如何选型
人工智能·算法·大模型·交互·dash
QCodingDev14 小时前
Spring AI Alibaba Graph实战:从ReAct Agent到Workflow,企业AI复杂流程该如何编排?
java·人工智能·spring·ai·ai编程·企业ai
GlueNa2SiO314 小时前
04-Flask数据库操作SQLAlchemy
笔记·python·flask
一嘴一个橘子14 小时前
SpringDataRedis 操作 redis
java·redis
JasmineWr14 小时前
Spring BeanDefinition 与 Bean 生命周期、循环依赖解析
java·后端·spring
dzl8439414 小时前
微服务基座
java
QQ_216962909614 小时前
【项目编号:project86564】SpringBoot供应链管理系统:采购、供应商、库存、销售、统计报表一体化实战
java·spring boot·后端
m0_5873830014 小时前
课程培训系统开发实战:从技术选型到核心模块设计
java·spring boot·架构·系统架构
lskblog14 小时前
Ubuntu 18.04 安装 LibreOffice(用于 Word 在线预览转换)
java·linux·python·ubuntu·word·php·laravel