Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算和分组类似博客的结果的最佳方法_Php_Mysql - Fatal编程技术网

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

Php 计算和分组类似博客的结果的最佳方法,php,mysql,Php,Mysql,我们网站上有一个新闻帖子数据库,大约有3000行(每个帖子一行,可以追溯到2001年)。每个都有一个unix时间戳,指示其发布日期 我想有一个档案页,显示有多少职位在给定的月份摘要。按年份分组,然后按月份分组 2011 January (13 posts) February (25 posts) 2012 March (30 posts) 等等 最有效的方法是什么?之前我有一堆代码,有两个for循环(年,然后月),每个月都会查询数据库,并计算出当时发表了多少篇文章。毫不奇怪,它的速度非常慢

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

我想有一个档案页,显示有多少职位在给定的月份摘要。按年份分组,然后按月份分组

2011
January (13 posts)
February (25 posts)

2012 
March (30 posts)
等等

最有效的方法是什么?之前我有一堆代码,有两个for循环(年,然后月),每个月都会查询数据库,并计算出当时发表了多少篇文章。毫不奇怪,它的速度非常慢


关于如何分组数据和避免每个月访问数据库的任何提示

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

Year | Month | Count

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

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

Year | Month | Count

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

如果您为表结构提供了一些示例数据,我将询问您为什么不将存档计数保存在一个单独的表中,并包含以下列:年、月、计数?老实说,只是因为我从来没有真正考虑过。这似乎是最有意义的。如果您为表结构提供了一些示例数据,我将询问您为什么不将存档计数保存在一个单独的表中,并包含列:年、月、计数?老实说,只是因为我从来没有真正考虑过。这似乎是最有意义的。