Mysql COUNT VS num行的性能

时间:2013-07-22 16:17:06

标签: mysql performance count rows

我想选择与用户列表相比的论坛帖子数量。所以它看起来像这样:
USERID --- FORUMPOSTS
3647 - 2
7467 - 14
2673 - 39
3224 - 5
......等等

现在我要问的是,通过COUNT(*)计算论坛帖子或者在通过用户列表循环之前是否会更快,并为每个用户创建一个新查询,通过mysql_num_rows计算他/她的论坛帖子。

2 个答案:

答案 0 :(得分:1)

您可以让SQL进行分组和计数

select userid, count(*) as forumposts
from your_table
group by userid

答案 1 :(得分:0)

  

现在我要问的是,通过COUNT(*)计算论坛帖子或者在通过用户列表循环之前是否会更快,并为每个用户创建一个新查询,通过mysql_num_rows计算他/她的论坛帖子。

做前者会更快,“通过COUNT(*)计算论坛帖子”。您可以按如下方式对结果进行分组:

SELECT userid, COUNT(*) FROM my_table GROUP BY userid

如果您的表在userid列上有索引,那么它会更快。