MySQL表中最多可以创建多少个索引?

3

MySQL表中是否存在最大限制,即我们只能在表中创建固定数量的索引?

表中可以创建的最大可能索引数是多少?


1
请首先查阅官方文档:http://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html - Gerardo Charles Rojas Vega
如果查看文档后还有任何问题,最好将它们直接引导到 http://dba.stackexchange.com/。 - Strawberry
不确定为什么这个问题被投票否决,因为它是一个合法的问题。 - tfont
2个回答

5
每个表的最大索引数和最大索引长度是由存储引擎定义的。参见第十五章,替代存储引擎。所有的存储引擎都支持至少16个索引每个表和至少256字节的总索引长度。大多数存储引擎都有更高的限制。
引自MySQL文档

-1

@Jonast92 的回答非常准确。
每个索引的长度也很重要(对于唯一索引更为重要)。

我还建议参考这个问题的答案:
https://dev59.com/92Qn5IYBdhLWcg3wzZpU#16568369

不过,或许更好的一个问题是:最多可以拥有多少推荐索引?

因为太多的索引通常暗示着表格设计上有问题。此外,值得注意的是,太多的索引会降低数据操作的速度。

索引发现的一个想法:

  • WHERE 子句(包括等值列上的 JOIN 条件)
  • GROUP BY
  • ORDER BY

我有一个疑问,即在group by子句上建立索引是否会对性能产生巨大影响。 - Ankit Bajpai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接