0

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

我想要一个存档页面,显示该给定月份有多少帖子的摘要。所以按年分组,然后按月分组

2011
January (13 posts)
February (25 posts)

2012 
March (30 posts)

等等

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

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

4

1 回答 1

3

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

Year | Month | Count

您每天都会运行一个简单的聚合查询来计算该月的帖子数量(使用过滤器)并更新上面的表格。它会又快又干净。

于 2013-06-22T07:33:12.230 回答