我尝试创建一个表,并且出现“行大小太大”错误。没问题,我刚刚将一些大型VARCHAR字段更改为TEXT,并且它有效。但现在我不知道我与行大小限制有多接近。如何确定表的最大行大小?
MySQL版本:5.5。
答案 0 :(得分:1)
这取决于您使用的存储引擎以及为该表选择的行格式,以及索引。这很难计算,因为数据库能够不断改变其结构。
但是VARCHAR,TEXT和BLOB是一个可变长度的数据类型,它有一个length属性,但值可以为空;计算可能不准确。请查看Avg_row_length
中的information_schema.tables
字段。
答案 1 :(得分:0)
MySQL documentation on row-size limits中有一些可能有用的粗略指南。
请记住 bytes 和字符不等效。 UTF-8类型表中的VARCHAR(255)
将计为每个字符多个字节。默认情况下,保留三个字节。