如何统计最后访问过的页面:小时/天/周/月/年? - PHP + MySQL

时间:2015-04-11 12:24:13

标签: php mysql

最简单的方法就是保存每次访问新行,例如;

page_visits_table
page_id | timestamp
1         time()
1         time()
2         time()

然后为每小时/每天/每周/每月/每年创建预定事件 计算" page_id"的行数是相同的,时间戳足够小。然后只需将rowCount值保存到某个地方......

但如果网站每天有10万访问者,则一位访问者平均访问5页=

100 000 * 5 * 356天= 178 000 000行。

...所以桌面尺寸会变得太大了。必须有一些聪明的方法来做到这一点,而不会超载数据库..?

1 个答案:

答案 0 :(得分:0)

正如其他人所指出的,使用来自第三方数据收集器的数据应该对您最有效。

但如果你仍然对DIY方式的答案感兴趣:

问题是,如果您需要详细数据。 您正在记录每个请求。相反,您可以记录每天/每小时/不等的请求总和。

所以结构更像是:

page_id | request_day | request_count
1         2015-06-14    24267
2         2015-06-14    103887
2         2015-06-13    112241

你可以保存一些行。