Mysql数据库中的字段长度是指字节还是字符

Mysql数据库中的字段长度是指字节还是字符,第1张

指的是字节。

解释:

字符可以分为中文字符,英文字符、数字。

中文字符(中文输入下的汉字和特殊字符都包含)占两个字节。

英文字符(大写字母和小写字母)占一个字节。

数字也是占一个字节。

首先是两个表, 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/7245159.html

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

发表评论

登录后才能评论

评论列表(0条)

保存