mysql最大长度

mysql最大长度,第1张

mysql中varchar最多能存储65535个字节的数据。

varchar 的最大长度受限于最大行长度(max row size,65535bytes)。65535并不是一个很精确的上限,可以继续缩小这个上限。65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度)、NULL标识位的累计。

扩展资料

1、varchar存储规则:

mysql4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 

mysql5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 。

2、varchar受编码长度限制规则:

字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766

字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。

varchar是变长字段,会根据你存储的数据长度来决定占用的存储空间,但是会有一个结束符,也就是说你varchar(200)你最多可以存200个字符,但实际占用了201个空间,对于不确定字段来说用varchar要远优于char型,但是对于定长字段,比如一个字段每组数据都应该有20位,此时用char来定义比较好,不会有varchar那个多余占用的空间。

另外虽然varchar是变长字段可以节省空间,但因为是变长,所以也会为以后可能出现的更新等 *** 作儿而预留一定的空间

所以varchar(200)和varchar(256)相比,实际存储数据的空间其实没什么差别,但是后面那个可能会稍微多预留些空间吧应该是

varchar是变长的,所以,你varchar(20),varchar(200),varchar(5)都用来存'hello',是一样的。

换成char(20), char(200)就不一样了。

char是定长,更占空间,但是检索速度更快,适合于规定长度的字段,比如身份z号,char(18)比varchar(18)要好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7417428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存