就一个问题.我的网站变得越来越慢.30k行的加载时间超过30秒.我必须说查询没有优化,所以10k查询可以被解雇但是,我发现这需要太长时间......所以我想,让我们检查索引.在查看了一些'问题'表之后,我看到我在多列上做了索引,但基数只显示在1列上,其他索引只有0基数.
我做错了索引吗?换句话说,我应该为每列创建索引而不是组合它们吗?
几乎可以肯定,您创建了错误的索引。大多数人都这样做!:-)
没有规则可以在多个列上创建索引,也可以在单个列上创建索引。要创建的最佳索引取决于您运行的查询,而不是您的数据库架构。
分析查询并决定索引是一个细致的过程。您可以使用EXPLAIN查看给定查询如何使用现有索引。请务必阅读文档: