“Specified key was too long; max key xxx bytes”该怎么解决?

首先很明显地说明了设置的索引太长,太长就会导致性能问题,所以就提示咯。而对于varchar(200)以上字符的字段,没有必要做那么长的索引,可以阶段的(部分),修改为:

字段如下:

f_type int(11), f_key varchar(256), PRIMARY KEY(f_type,f_key(40))

备注:

这样修改之后可能有一些风险哦,因为作为主键必须唯一,可能出现问题的情况,毕竟只截断了40个字符….

对于InnoDB引擎的表,不建议你们使用此类组合模式做主键,性能会很差,建议数值类型的字段作主键,外加创建唯一索引的模式,例如:

id INT UNSIGNED AUTO_INCREMENT,f_type int(11), f_key varchar(256), PRIMARY KEY(ID),UNIQUE KEY(f_type,f_key(80))

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。 IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超...
  • 很多人向我咨询关于重装系统对电脑的负面影响,现在我很负责的告诉你,偶尔的重装系统是没有明显的影响的,但是频繁的重装系统那就会导致硬盘长时间高速、过热运行,会导致硬盘寿命缩短以及出现许多未知事件。 所以凡凡不推荐你频繁的重装系统,更倾向于备份和还原。
  • macOS上安装软件时会遇到有时候我们可能需要解包 PKG 格式的安装文件包,在 OS X 系统下完成该操作并不需要你额外再安装软件,系统内置的命令就可以。 步骤也比较简单(进入pkg所在目录): xar -xf target.pkg cat target.pkg/Payload | cpio -i
  • 首先我们得明确一个问题,就是你能保证你的显卡是原装的,无改动的?是的,基本上没有,毕竟一块显卡走过的流水是你所看不到的,那么就有各式的问题了,如改装、强刷等。 TechPowerUp的知名显卡识别工具GPU-Z就是为我们识别显卡的真实性的,用来辨别是不是刷的假卡,淘宝上一堆用GT440刷的假卡,从设...
  • sdcard存储的信息可以被其他应用任意读取,如果有敏感信息会造成信息被恶意应用获取风险。 通过内部存储存文件openFileOutput(filename, Context.MODE_PRIVATE)或者对于敏感的数据加密后存储。
微信扫一扫即可带走我!