创建二级索引报错Too many keys specified
场景描述
创建二级索引失败,报错:Too many keys specified; max 64 keys allowed.
故障分析
MySQL对InnoDB每张表的二级索引的数量上限有限制,限制上限为64个,超过限制会报错“Too many keys specified; max 64 keys allowed”。详见官方文档。
解决方案
MySQL机制导致,建议优化业务,避免单表创建过多索引。
InnoDB表的其他限制:
- 一个表最多可以包含1017列(包含虚拟生成列)。
- InnoDB对于使用DYNAMIC或COMPRESSED行格式的表,索引键前缀长度限制为3072字节。
- 多列索引最多允许16列,超过限制会报错。