所在的位置: mysql >> mysql优势 >> MySQLE1071索引过长

MySQLE1071索引过长

北京看湿疹最好医院 http://pf.39.net/bdfyy/bdfrczy/210405/8814564.html

Mysql数据库中在为一些字段创建索引时,有时遇到E异常。

异常

“-Specifiedkeywastoolong;maxkeylengthisbytes”

造成上述错误的原因:

创建索引的字段字节长度超出了最大长度限制字节。

不同字符集、引擎下的对应的字符长度不同。

Innodb引擎下,最大长度限制为字节

latin1:1字符对应1字节,/1=

GBK:1字符对应2字节,/2=

UTF8:1字符对应3字节,/3=

UTF8mb4:1字符对应4字节,/4=

MyISAM引擎下,长度限制为字节

解决方案:

增加最大长度限制innodb_large_prefix=on单列最大长度限制为字节减少字段长度设置根据限制长度,调整需要索引的列的字符长度增加索引长度条件创建索引时,指定长度,但可能会损失索引精准度CREATEINDEXindex_nameONtable_name(column_name(length))导图总结:

E问题总结


转载请注明:http://www.aierlanlan.com/grrz/2717.html