计算和分组类似博客结果的最佳方式

时间:2013-06-22 07:28:28

标签: php mysql

我们的网站上有一个新闻帖子数据库,有大约3000行(每个帖子一个,可以追溯到2001年)。每个都有一个unix时间戳,表明它的发布日期。

我希望有一个存档页面,显示该月份的帖子数量摘要。按年分组,然后按月分组

2011
January (13 posts)
February (25 posts)

2012 
March (30 posts)

等。

最有效的方法是什么?我之前有一堆代码,有两个for循环(年份,然后是月份),它会查询每个月的数据库并计算当时发布的帖子数量。毫不奇怪,它非常缓慢。

有关如何对数据进行分组并避免每个月访问数据库的任何提示。

1 个答案:

答案 0 :(得分:3)

最好使用数据库中的聚合表来处理,以便每月保存统计信息。您可以拥有一个包含3列的简单表格。

Year | Month | Count

每天运行一个简单的聚合查询,计算该月的帖子数(使用过滤器)并更新上表。它会快速而干净。