mysql报row空间不够_Mysql 报Row size too large 65535 的原因及解决方法
时间: 2023-11-04 15:50:28 浏览: 144
Mysql 报Row size too large 65535 的原因及解决方法
当 MySQL 中的表包含太多的列或者列类型非常大时,可能会导致每行的数据大小超过了 MySQL 限制的最大值,从而导致报错“Row size too large”(行大小太大)。
解决这个问题有以下几种方式:
1. 减少表中的列数或者缩小每个列的数据类型,从而减小每行数据的大小。
2. 使用 MyISAM 引擎,因为 MyISAM 的行大小上限是 65535 字节,而 InnoDB 的行大小上限是 8000 字节。
3. 将长文本类型的列,如 TEXT 或 BLOB,单独存储到另一个表中,并在主表中引用这个表的主键。
4. 将表的行格式设置为 DYNAMIC 或 COMPRESSED,这两种格式允许每行数据大小超过 MySQL 的默认限制。
5. 如果以上方法无法解决问题,可以考虑将表拆分成多个表,将不同的列存储在不同的表中,从而缩小每个表的行大小。
阅读全文