论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
1071 - Specified key was too long; max key length i ...
1071 - Specified key was too long; max key length is 3072 bytes Mysql ...
王國慶
论坛元老
|
2024-9-16 23:32:53
|
显示全部楼层
|
阅读模式
楼主
主题
1876
|
帖子
1876
|
积分
5632
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
错误信息 “Specified key was too long; max key length is 3072 bytes” 是在MySQL数据库中创建索引时可能出现的问题,通常出现在实验创建一个过长的唯一键(UNIQUE KEY)或主键(PRIMARY KEY)时。MySQL对于InnoDB存储引擎有一个索引键长度的限制,这个限制基于字符集的不同而不同。
例如,在使用utf8字符集时,每个字符可能占用3个字节,那么对于innodb表,索引键的最大长度约莫为1000个字符左右(由于3072 / 3 ≈ 1024)。若字符集是utf8mb4,每个字符可能占用4个字节,所以最大长度会进一步减少到768个字符左右(3072 / 4 = 768)。
解决这个问题的方法有:
缩短字段长度
:查抄并适当缩短构成索引的字段长度。
更改索引策略
:如果不必要对整个字段进行索引,可以选择只对部分字段建立索引,或者创建覆盖索引(覆盖索引仅包罗查询所需的列)。
更改字符集
:如果有可能,可以考虑使用占用字节更少的字符集,但这必要确保字符集能满足你的业务需求,且不会引入其他问题。
组合索引优化
:如果是复合索引,考虑重新排列索引中的列顺序以减小整体索引大小。
分表/分区策略
:对于大数据量场景,也可以考虑采用水平分表或分区等方法,将数据分散到多个表或分区中,从而克制单个索引过大。
请根据具体业务需求和数据模子来选择符合的解决方案。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
王國慶
论坛元老
这个人很懒什么都没写!
楼主热帖
webman
不想打开 IDE 的摆烂一天
Jupyter Notebook,太强大了
React技巧之发出http请求
【Shashlik.EventBus】.NET 事件总线, ...
【网络】https单向认证和双向认证 ...
APP内存管理
Apache DolphinScheduler 3.0.0 正式版 ...
Bluecmsv1.6-代码审计
java如何显示"html转义字符"对应的原始 ...
标签云
集成商
AI
运维
CIO
存储
服务器
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表