参考官方资料
目前讲述的是mysql5.7, 官方资料可看5.6, 5.7, 8.0
描述了对表,索引,表空间和存储引擎其他方面的限制.
- 一张表允许最大1017列(从先前的1000限制提高), 虚拟生成的列也包含在此现值中
- 一张表允许最大64个二级索引
- 多列索引最多允许16列, 超过限制将返回错误.
- 对于4KB, 8KB, 16KB和32KB的页面大小, 最大的行大小(不包括页面外存储的任何可变长度列)都小于页面的一半. 例如, 默认的最大innodb_page_size16KB行大小约为8000个字节. 但是, 对于InnoDB 64KB的页面大小, 最大行大小约为16000字节. LONGBLOB和 LONGTEXT 列必须小于4GB, 并且总行大小(包括BLOB和 TEXT列)必须小于4GB.
- InnoDB日志文件的最大大小为512GB
- 最大表空间取决于InnoDB页面大小.
InnoDB页面大小 | 最大表空间大小 |
---|---|
4KB | 16TB |
8KB | 32TB |
16KB | 64TB |
32KB | 128TB |
64KB | 256TB |
最大表空间大小也是表的最大大小