的大小和MySQLvarchar尺寸介绍

的大小和MySQLvarchar尺寸介绍
在4版本中,varchar(20),指的是20字节。如果UTF8汉字存储,只有6个(每个汉字3字节)可以存储。
在5版本以上,varchar(20)指的是20个字,无论是存储在数字、字母或utf8字符(每个汉字3字节),可以存储20,最大大小为65532字节。
最大的mysql4只有20字节,但在mysql5大小不同根据不同的编码。

1。限制性规则

定义字段时,字段的限制有以下规则:

(a)存储限制

VARCHAR字段存储实际内容外聚集索引。内容的开头是1到2字节,表示实际长度(2字节长于255),因此最大长度不能超过65535。

B)代码长度限制

如果字符类型是GBK,每个字符占用2个字节最多和最大长度不能超过32766。

如果字符类型是UTF8,每个字符占用3个字节最多和最大长度不能超过21845。

如果以上超出限制在定义的时候,VARCHAR字段是强制转换为文本型,并产生警告。

线长度限制

在实际应用中的varchar长度限制是线的definition.mysql长度要求线不应超过65535定义的长度。如果桌子的长度超过此值,则提示

错误1118(42000):行大小太大。最大行大小为,例如,大小,65535。

2。计算实例

给出了两个实例来说明实际长度的计算。

a)如果一个表只有一个VARCHAR类型,定义为

创建表的T4(C varchar(n))= GBK字符集;

这里是N的最大值(65535-1-2)/ 2 = 32766。

减少1的原因是实际的行存储是从第二个字节开始的;

2的减少是由于2字节长度的varchar头。

2的原因是字符编码是GBK。

B)如果表被定义为

创建表的T4(C的int,char(30)C2,C3 varchar(n))= utf8字符集;

这里是N的最大值(65535-1-2-4-30 * 3)/ 3 = 21812

减去1和负2以上的相同;

减少4的原因是int型C占4字节;

减少30×3的原因是:(30)字符占用90字节,并且代码UTF8。

如果varchar在B以上规则和强烈转换为文本型,然后各领域职业的长度是11个字节,而不再是varchar。

tag:尺寸大小电脑软件MySQLvarchar

相关内容