我尝试创建一个表,但得到“行大小太大”的错误。没问题,我只是将一些大型的VARCHAR字段更改为文本,并且它起作用了。但现在我不知道我离行大小限制有多近了。如何确定表的最大行大小?
MySQL版本: 5.5。
发布于 2012-12-19 06:36:27
这取决于您使用的存储引擎、为该表选择的行格式,以及您的索引。这很难计算,因为数据库能够不断地改变它的结构。
但是VARCHAR、TEXT和BLOB是可变长度的数据类型,它有一个length属性,但值可以为空;计算可能不准确。看看information_schema.tables中的Avg_row_length字段。
编辑:看一下:Data Type Storage Requirements。
发布于 2012-12-19 06:29:41
在MySQL documentation on row-size limits中有一些粗略的指导原则可能会有所帮助。
请记住,字节和字符是不等价的。UTF-8类型表中的VARCHAR(255)将计为每个字符多于一个字节。默认情况下,保留三个字节。
https://stackoverflow.com/questions/13942525
复制相似问题