首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >1071 -指定的密钥太长;最大密钥长度为1000字节

问1071 -指定的密钥太长;最大密钥长度为1000字节
EN

Stack Overflow用户
提问于 2016-10-18 21:40:33
回答 1查看 11.4K关注 0票数 4

导入Sqlbackup时出现以下错误:

SQL-Befehl:

代码语言:javascript
复制
CREATE TABLE jos_hikashop_zone_link (
    zone_parent_namekey VARCHAR(255) NOT NULL,
    zone_child_namekey VARCHAR(255) NOT NULL,
    PRIMARY KEY (zone_parent_namekey, zone_child_namekey)
)
ENGINE = MYISAM
AVG_ROW_LENGTH = 49
CHARACTER SET utf8
COLLATE utf8_general_ci
MySQL meldet: Dokumentation

1071 -指定的密钥太长;最大密钥长度为1000字节

在导入文件之前,我已经尝试过"set GLOBAL storage_engine='InnoDb'“。

我买不到新的SQLImportfile。

我在本地机器上使用XAMPP。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 21:58:21

因为您的主键是两个UTF8 VARCHAR(255)列上的多列主键,所以索引大小是两列的大小之和。

UTF8列上的索引会自动分配所有可能的空间,其中每个字符最多可以占用3个字节。因此,您的索引大小是255个字符*3字节*2列= 1530字节。

MyISAM的索引限制为1000字节。除非您使用的是MySQL 5.7.7+,否则InnoDB有一个更小的限制(767字节),在这种情况下,默认限制是3072字节。

尝试减小索引大小。通常,索引大小越小,查找性能就越好。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40109903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档