(七)mysql 记录长度


MySQL记录长度

MySQL中规定:任何一条记录最长不能超过 65535个字节;

这句话,就表明 varchar 永远也达不到理论值 ;

varchar 的实际存储长度能达到多少,是需要看具体的字符集的;

UTF8下面,一个汉字占用三个字节,(65535-2 ) / 3 = 21844
GBK下面,一个汉字占用二个字节,(65535-2) / 2 = 32766

Mysql 还规定,如果一条记录中有任何一个字段允许为空,那么系统则从整条记录的 65535 个字节中抽出一个字节用于保存 NULL

那我们想要保存大文本怎么办,选择用 texttext 不占用记录长度,但是怎么说也是记录的一部分,因此,其实 text 只占用记录的 10 个字节,用于保存数据的地址和长度 ;


基于上面的问题,有时候,我们创建表失败了,看思考下是不是记录长度太大了。

原文地址:https://www.cnblogs.com/young-youth/p/11665642.html