如何获得MySQL行的最大大小?

时间:2012-12-18 22:25:56

标签: mysql

我尝试创建一个表,并且出现“行大小太大”错误。没问题,我刚刚将一些大型VARCHAR字段更改为TEXT,并且它有效。但现在我不知道我与行大小限制有多接近。如何确定表的最大行大小?

MySQL版本:5.5。

2 个答案:

答案 0 :(得分:1)

这取决于您使用的存储引擎以及为该表选择的行格式,以及索引。这很难计算,因为数据库能够不断改变其结构。

但是VARCHAR,TEXT和BLOB是一个可变长度的数据类型,它有一个length属性,但值可以为空;计算可能不准确。请查看Avg_row_length中的information_schema.tables字段。

编辑:看看:Data Type Storage Requirements

答案 1 :(得分:0)

MySQL documentation on row-size limits中有一些可能有用的粗略指南。

请记住 bytes 字符不等效。 UTF-8类型表中的VARCHAR(255)将计为每个字符多个字节。默认情况下,保留三个字节。