问题

假设B+树的高度是2,一行数据的记录大小是1K,主键ID是int类型。
问:该B+树存放的总记录数?

知识点

Mysql的默认存储引擎是Innodb
Innodb的最小存储单位是页
一页大小等于16K
B+树的叶子节点存放数据,内部节点存储键值和指针

在高度为2的B+树情况下,
B+树存放总记录=单个叶子节点的记录行数 * 根节点指针数

解决过程

1)计算单个叶子节点的记录行数
单个页的大小是16K
一行数据大小是1K
所以行数=16K / 1K =16

2)计算根节点指针数
一个int类型的字符长度是4字节
在Innodb中设置中一个指针长度是4字节
共计8个字节
所以根节点指针数=16KB / 8B = 16 * 1024B / 8B = 2048
根据公式:B+树存放总记录=2048 * 16 = 32768
综上所述:高度为2且满足上述条件的B+树存放记录32768条

补充说明:
如果B+树高度为3,B+树存放记录为

2048 * 2048 * 16 = 67108864

由此可见,B+树高度超过3时,磁盘IO迅速增大,SQL查询压力也会急剧增加。

Mysql的B+树高度计算相关推荐

  1. mysql索引结构树高度_MYSQL的B+Tree索引树高度如何计算

    前一段被问到一个平时没有关注到有关于MYSQL索引相关的问题点,被问到一个表有3000万记录,假如有一列占8位字节的字段,根据这一列建索引的话索引树的高度是多少? 这一问当时就被问蒙了,平时这也只关注 ...

  2. MySQL之InnoDB主键索引的B+树的高度计算

    文章目录 MySQL之InnoDB主键索引的B+树的高度计算 1.高度为2和3.主键bigint类型.一行记录数据大小1k MySQL之InnoDB主键索引的B+树的高度计算 1.高度为2和3.主键b ...

  3. mysql B+树层高计算《嘀嗒出行面试》

    本文需要有mysql底层知识做铺垫 ****mysql默认page大小为16K,这个可以调整,但是必须是4的倍数,因为操作系统每次和硬盘交互数据取的就是4K的块 1.分析b+树非叶子节点情况 ,假定一 ...

  4. 是什么影响了MySQL索引B+树的高度?

    hello,大家好,我是张张,「架构精进之路」公号作者. 提到MySQL,想必大多后端同学都不会陌生,提到B+树,想必还是有很大部分都知道InnoDB引擎的索引实现,利用了B+树的数据结构. 那Inn ...

  5. 为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?

    为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确. 大多数人都只会简单说一下 B+ 树和 B 树的区别,但是都没有真 ...

  6. mysql按 当前时间和规定时间大小排序_为什么 MySQL 使用 B+ 树· Why#x27;s THE Design?(009)...

    原文链接:https://draveness.me/whys-the-design-mysql-b-plus-tree 为什么 MySQL 使用 B+ 树 · Why's THE Design?​dr ...

  7. B+树 范围查询_为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?

    Java技术栈 www.javastack.cn 关注优质文章 为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确.大 ...

  8. 面试官:为什么 MySQL 使用 B+ 树?

    为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确,大多数人都只会简单说一下 B+ 树和 B 树的区别,但是都没有真正 ...

  9. 为什么 MySQL 使用 B+ 树

    点击上方"五分钟学算法",选择"星标"公众号 重磅干货,第一时间送达 转自真没什么逻辑 为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这 ...

最新文章

  1. 兄弟们,TechEd见!
  2. 强大Jquery插件,table排序之二
  3. 鸿蒙系统平板界面,鸿蒙OS平板UI界面曝光:双Dock栏设计+超级终端互联功能
  4. CentOS服务器利用.htaccess批量封IP方法介绍
  5. linux 多线程编程笔记
  6. 通过100个单词掌握英语语法(十六) come
  7. 《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...
  8. Python简记--函数
  9. winform中listview选中整行_工作中常见的11个Excel难题,一次解决!
  10. 写给大忙人看的java_《写给大忙人看的Java核心技术》读后感
  11. ubuntu安装cuda11.2
  12. 国内的点对点聊天工具鱼信Fishchat怎么用?
  13. python函数.most_common()
  14. 谈谈产品与运营之 - 润物细无声
  15. java级联_Java构造器:级联调用,调用兄弟构造器
  16. 错误:Attempted read from closed stream尝试读取关闭的流!!!
  17. uniapp开发微信公众号H5 定位功能
  18. css文字和数字或者英文对不齐解决方案
  19. python过京东app图形验证勾股定理_Python爬虫模拟登录京东获取个人信息
  20. 以太坊(Ethereum) - 什么是智能合约

热门文章

  1. 快速熟悉 nifi 了解 这是个什么 然后 方便上手使用
  2. snmp-exporter h3c精简监控指标 snmp.yml
  3. arcgis生成公里格网_ArcGIS出图:地理坐标格网的设定(二)
  4. 二分匹配大总结——Bipartite Graph Matchings[LnJJF]
  5. vue3图片头像裁剪上传
  6. selenium3 + python - gird分布式(转载)
  7. (图文) 使用XAMMP+DW 搞定PHP运行环境操作步骤(详细)
  8. K线形态识别_T字线和倒T字线
  9. 全方位测评|M1 这款小小芯片真的全面领跑顶配 i9 Mac 嘛?你想知道的我都告诉你...
  10. ARP绑定IP与MAC地址