最简单的方法就是保存每次访问新行,例如;
page_visits_table
page_id | timestamp
1 time()
1 time()
2 time()
然后为每小时/每天/每周/每月/每年创建预定事件 计算" page_id"的行数是相同的,时间戳足够小。然后只需将rowCount值保存到某个地方......
但如果网站每天有10万访问者,则一位访问者平均访问5页=
100 000 * 5 * 356天= 178 000 000行。
...所以桌面尺寸会变得太大了。必须有一些聪明的方法来做到这一点,而不会超载数据库..?
答案 0 :(得分:0)
正如其他人所指出的,使用来自第三方数据收集器的数据应该对您最有效。
但如果你仍然对DIY方式的答案感兴趣:
问题是,如果您需要详细数据。 您正在记录每个请求。相反,您可以记录每天/每小时/不等的请求总和。
所以结构更像是:
page_id | request_day | request_count
1 2015-06-14 24267
2 2015-06-14 103887
2 2015-06-13 112241
你可以保存一些行。