在group by子句中使用的列上添加索引是否合适?

时间:2013-11-30 09:10:34

标签: mysql performance group-by indexing query-optimization

我有一个像

这样的查询
SELECT x, SUM(y)
FROM xyz 
WHERE z>=100 
GROUP BY x
ORDER BY SUM(y) DESC;

如果我要在x上添加索引会更快吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

不仅是z,

ADD INDEX (z, x)

当有复合索引时,列顺序很重要。在你的情况下,' z'首先与100比较。

这样可以提供有用的信息。 http://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html

并且,MySQL已经解释了GROUP BY Optimization http://dev.mysql.com/doc/refman/5.5/en/group-by-optimization.html