Mysql的B+树高度计算
问题
假设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+树高度计算相关推荐
- mysql索引结构树高度_MYSQL的B+Tree索引树高度如何计算
前一段被问到一个平时没有关注到有关于MYSQL索引相关的问题点,被问到一个表有3000万记录,假如有一列占8位字节的字段,根据这一列建索引的话索引树的高度是多少? 这一问当时就被问蒙了,平时这也只关注 ...
- MySQL之InnoDB主键索引的B+树的高度计算
文章目录 MySQL之InnoDB主键索引的B+树的高度计算 1.高度为2和3.主键bigint类型.一行记录数据大小1k MySQL之InnoDB主键索引的B+树的高度计算 1.高度为2和3.主键b ...
- mysql B+树层高计算《嘀嗒出行面试》
本文需要有mysql底层知识做铺垫 ****mysql默认page大小为16K,这个可以调整,但是必须是4的倍数,因为操作系统每次和硬盘交互数据取的就是4K的块 1.分析b+树非叶子节点情况 ,假定一 ...
- 是什么影响了MySQL索引B+树的高度?
hello,大家好,我是张张,「架构精进之路」公号作者. 提到MySQL,想必大多后端同学都不会陌生,提到B+树,想必还是有很大部分都知道InnoDB引擎的索引实现,利用了B+树的数据结构. 那Inn ...
- 为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?
为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确. 大多数人都只会简单说一下 B+ 树和 B 树的区别,但是都没有真 ...
- 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 ...
- B+树 范围查询_为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?
Java技术栈 www.javastack.cn 关注优质文章 为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确.大 ...
- 面试官:为什么 MySQL 使用 B+ 树?
为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确,大多数人都只会简单说一下 B+ 树和 B 树的区别,但是都没有真正 ...
- 为什么 MySQL 使用 B+ 树
点击上方"五分钟学算法",选择"星标"公众号 重磅干货,第一时间送达 转自真没什么逻辑 为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这 ...
最新文章
- 兄弟们,TechEd见!
- 强大Jquery插件,table排序之二
- 鸿蒙系统平板界面,鸿蒙OS平板UI界面曝光:双Dock栏设计+超级终端互联功能
- CentOS服务器利用.htaccess批量封IP方法介绍
- linux 多线程编程笔记
- 通过100个单词掌握英语语法(十六) come
- 《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...
- Python简记--函数
- winform中listview选中整行_工作中常见的11个Excel难题,一次解决!
- 写给大忙人看的java_《写给大忙人看的Java核心技术》读后感
- ubuntu安装cuda11.2
- 国内的点对点聊天工具鱼信Fishchat怎么用?
- python函数.most_common()
- 谈谈产品与运营之 - 润物细无声
- java级联_Java构造器:级联调用,调用兄弟构造器
- 错误:Attempted read from closed stream尝试读取关闭的流!!!
- uniapp开发微信公众号H5 定位功能
- css文字和数字或者英文对不齐解决方案
- python过京东app图形验证勾股定理_Python爬虫模拟登录京东获取个人信息
- 以太坊(Ethereum) - 什么是智能合约
热门文章
- 快速熟悉 nifi 了解 这是个什么 然后 方便上手使用
- snmp-exporter h3c精简监控指标 snmp.yml
- arcgis生成公里格网_ArcGIS出图:地理坐标格网的设定(二)
- 二分匹配大总结——Bipartite Graph Matchings[LnJJF]
- vue3图片头像裁剪上传
- selenium3 + python - gird分布式(转载)
- (图文) 使用XAMMP+DW 搞定PHP运行环境操作步骤(详细)
- K线形态识别_T字线和倒T字线
- 全方位测评|M1 这款小小芯片真的全面领跑顶配 i9 Mac 嘛?你想知道的我都告诉你...
- ARP绑定IP与MAC地址