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

相关推荐
古城小栈几秒前
SpringBoot:声明式事务 和 编程式事务 的擂台霸业
java·spring boot·后端
小二·3 分钟前
Java基础教程之网络编程
java·开发语言·网络
泥嚎泥嚎4 分钟前
【Android】RecyclerView 刷新方式全解析:从 notifyDataSetChanged 到 DiffUtil
android·java
兩尛4 分钟前
HJ98 喜欢切数组的红(dp
算法
努力学算法的蒟蒻5 分钟前
day23(12.3)——leetcode面试经典150
java
言言的底层世界5 分钟前
c/c++基础知识点
开发语言·c++·经验分享·笔记
adam_life6 分钟前
【P4551 最长异或路径】
算法·bfs·01字典树
luod9 分钟前
RabbitMQ简单生产者和消费者实现
java·rabbitmq
弥巷9 分钟前
【Android】深入理解Window和WindowManager
android·java
Genevieve_xiao12 分钟前
【数据结构】【xjtuse】面向考纲学习(上)
数据结构·学习