
提到MySQL,想必大多后端同学都不会陌生,提到B+树,想必还是有很大部分都知道InnoDB引擎的索引实现,利用了B+树的数据结构。
那InnoDB 的一棵B+树可以存放多少行数据?它又有多高呢?
到底是哪些因素会对此造成影响呢,今天我们就来展开聊一下。
1、InnoDB引擎数据存储
在计算机中,磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)的最小单元是块,一个块的大小是4k,在InnoDB存储引擎中,也有页(Page)的概念,默认每个页的大小为16K,也就是每次读取数据时都是读取4*4k的大小!

在MySQL中,InnoDB页的大小默认是16k,当然也可以通过参数设置:

2、InnoDB引擎数据操作
接下来,为了让大家能更好地理解数据存储逻辑,我们来进行一个数据操作实例进行讲解。
假设我们现在有一个用户表,我们往里面写入数据。

这里

本文探讨了MySQL InnoDB引擎中,B+树索引的高度受哪些因素影响。内容包括InnoDB的数据存储机制,数据操作如页分裂的过程,以及如何根据数据页大小和记录大小估算B+树的高度。强调了主键自增对于插入效率和页利用率的重要性,并解释了无主键时InnoDB的处理方式。最后总结了常见B+树高度为2-3层,能容纳的记录数范围。
最低0.47元/天 解锁文章
2510

被折叠的 条评论
为什么被折叠?



