MySQL中varchar最大长度是多少

MySQL中varchar最大长度是多少,第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。

首先是两个表, user_info 和 user_identify_info ,这两个表通过 user_id 关联。

user_info 中 user_id 字段是int(11)类型,主键索引

user_identify_info 中 user_id 是varchar类型,普通索引

执行结果如图,未使用到索引

将 user_identify_info 字段改为int(11)或者bigint类型,使用到索引

最后查到

1、字段是varchar类型,参数是int类型,不走索引

2、字段是varchar类型,参数是字符串,走索引

3、字段是int类型,参数是int类型,走索引

4、字段是int类型,参数是字符串,走索引

添加列delivery_address 字段扩展到1000

为这个字段添加单列索引,报异常出来,索引最大长度是3072 bytes

mysql5.7不报错,但会自动将索引长度限制在768

mysql8单列索引最长也是768

复合索引总长度不能超过768


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存