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

相关推荐
傻啦嘿哟16 分钟前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅1 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
wenyq71 小时前
LeetCode 2460. Apply Operations to an Array
算法·leetcode
mqiqe2 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
.格子衫.2 小时前
032动态规划之区间DP——算法备赛
算法·动态规划
zhifou1234562 小时前
java 17升级安装
java·开发语言
用户3721574261352 小时前
如何使用 Java 将 Markdown 转换为 PDF(含自定义设置)
java
不会代码的小猴3 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
用户3721574261353 小时前
如何使用 Java 在 Word 文档中添加和删除水印:分步指南
java
怪奇云呼军3 小时前
知识库也会注入指令?闪电智能VoiceAgent 如何防住 Prompt Injection
人工智能·python·算法·云计算·音视频