MySQL如何存储索引?

时间:2011-11-08 19:38:36

标签: mysql indexing

只是一个问题。我的网站变得越来越慢。 30k行的加载时间超过30秒。我必须说查询没有优化,所以10k查询可以被解雇但是,我发现这需要太长时间......所以我想,让我们检查索引。在查看了一些“问题”表之后,我看到我在多列上建立了索引,但基数只显示在1列上,其他索引的基数为0。

我做错了索引吗?换句话说,我应该为每列创建索引而不是组合它们吗?

1 个答案:

答案 0 :(得分:3)

几乎可以肯定的是,您创建了错误的索引。大多数人这样做! : - )

没有规则可以在多列和单个列上创建索引。要创建的最佳索引取决于您运行的查询,而不是数据库架构。

分析查询和决定索引是一个细致的过程。您可以使用EXPLAIN查看给定查询如何使用现有索引。请务必阅读文档: