指定错误的键太多;允许最多64个密钥

时间:2013-06-03 12:36:26

标签: mysql

我得到了以下MySQL错误:

Too many keys specified; max 64 keys allowed.

是否可以增加MySQL中的最大索引大小,如果是,那么我们该如何做呢?

3 个答案:

答案 0 :(得分:1)

鉴于此处的回复:mysql error 1069 Too many keys specified; max 64 keys allowed 在这里http://forums.mysql.com/read.php?22,53666,53666(2005年的旧帖子,但仍然相关),似乎重新编译和发布似乎是你唯一的选择。

如果您的托管不允许您手动部署mySql安装,这当然很难。

答案 1 :(得分:1)

选项1)增加MAX_KEY value in 'sql/unireg.h'并重新编译代码

选项2)您可以在配置阶段指定它,即:

./configure --prefix=/usr/local/mysql --with-charset=cp1251 --enable-thread-safe-client --with-max-indexes=256 

检查此link

答案 2 :(得分:1)

从文档中:“每个MyISAM表的最大索引数为64.这可以通过重新编译来更改。从MySQL 5.0.18开始,您可以通过使用--with-max-indexes调用configure来配置构建= N选项,其中N是每个MyISAM表允许的最大索引数.N必须小于或等于128.在MySQL 5.0.18之前,您必须更改源。“

所以,我们假设你正在使用MyISAM。如果您使用InnoDB,只要数据长度在3072字节限制范围内,您就可以获得任意数量的密钥。

为什么你有这么多钥匙?你能重新设计少用吗?