哪个更快:COUNT(DISTINCT列)与COUNT(*)... GROUP BY列

时间:2013-01-09 20:37:33

标签: mysql count distinct

我正在使用MySQL而且我已多次阅读COUNT(*)通常比COUNT(Column)更快。

但是,我需要获取不同行的COUNT。据我所知,我可以通过两种不同的方式做到这一点:

a) SELECT COUNT(DISTINCT Column) ...

b) SELECT COUNT(*) ... GROUP BY Column

一般情况下,更快?如果依赖,那么依赖 是什么?

1 个答案:

答案 0 :(得分:4)

SELECT COUNT(*) FROM table GROUP BY column返回按组分组的每个值的行数,而不是组数。

SELECT COUNT(DISTINCT column) FROM table返回组的数量(尽管您也可以使用GROUP BY查询中的行数来获取此组。)