2024-11-09
版权声明:本文为博主付费文章,严禁任何形式的转载和摘抄,维权必究。 本文链接:https://www.skjava.com/mianshi/baodian/detail/5853193809

回答

理论上,MySQL InnoDB 不限制单表的大小,其更多是受操作系统和硬件资源限制。在官方文档介绍中, InnoDB 最小表空间略大于10MB,最大表空间取决于 InnoDB 页大小。若按默认值16KB 计算,则最大表空间大小为64TB。

在 InnoDB 中,一张表会生成两个文件:.frm文件(表结构文件)和 .ibd文件(数据文件如聚簇索引和二级索引,也称为表空间)。

扩展

MySQL 单表数量限制为2kw?

单表2kw大小的限制,更多是从性能来考虑的,如 SQL 查询性能和索引维护成本。下面粗略分析下:

1、数据页。InnoDB 将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB 中页的默认大小为 16KB。从下图可知一个数据页除了行记录还有一些额外辅助信息用于检索和定位其他数据页等。

**2、非叶子节点。**InnoDB 的索引结构是 B+ 树,行数据存储在主键索引的叶子节点,非叶子节点存储指针和索引项。