·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

Discuz!X3.5 MySQL InnoDB引擎max key length is 767bytes长度问题

881 0
发表于 2021-1-22 13:35:29 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

允许索引字段前缀的字节限制为 767 bytes,且:

  • 当字符集为 utf8mb4 时,一个字符对应 4 bytes;
  • 当字符集为 utf8 时,一个字符对应 3 bytes;

所以对于(一)中的问题:

字符集为 utf8mb4, 所以可申请索引的 varchar 长度为:767/4 ≈ 191;

而字符集为 utf8 时,可设置的创建索引 varchar 长度为: 767/3 ≈ 255

在 5.6.3 之后的版本,字节限制提高到了 3072 bytes.


从(二)可得:

字符集为 utf8mb4 时,限制 varchar 字符为:3072/4 = 768;

字符集为 utf8 时,限制 varchar 字符为:3072/3 = 1024;

因此字符集为 utf8mb4 时,将 name 字段索引前缀长度控制在 768 以内即可成功创建索引。


我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.12.41.179,GMT+8, 2024-11-5 14:59 , Processed in 1.201324 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表