嘿,有没有人知道设置MySQL数据库来收集综合浏览量的正确方法?我想收集这些综合浏览量以便稍后在图表中显示。我有几种方法可以在下面列出。
选项A: 每次有人访问网站并为每个带有时间戳的网页浏览创建新行时,计算网页浏览量会更好吗?因此,50,000个视图= 50,000行数据。
选项B: 计算每日的综合浏览量,并有一行计算综合浏览量。每当有人访问该网站时,计数就会增加。因此,50,000次观看=每天1行数据。每天都会创建一个新行。
是否有任何选项超出了我想要的正确方法?还是有更好的更有效的方式?
感谢。
答案 0 :(得分:2)
选项C 将解析来自Web服务器的访问日志。不需要额外的存储空间,存储各种额外信息,甚至存储对图像和JavaScript文件的请求。
...
但是,如果您只是想跟踪您运行自己代码的网页的访问次数,我肯定会选择选项A ,除非您预计网站上会出现大量流量。
通过这种方式,您可以创建一天中每小时的概述,并存储更多信息,而不仅仅是时间戳(如访问过的页面,用户的浏览器等)。您现在可能不需要,但稍后您可能会感谢您自己没有丢失该信息。 如果表格在某些时候变得太大,你总是可以想办法解决这个问题。
答案 1 :(得分:1)
如果你关心你的综合浏览量在一天内如何变化,选项A会保留这些信息(尽管你可能仍然会做一些分组,比如每小时,以减少整体数据 - 但你可能会这样做“以后离线“归档所有细节”。选项B占用的空间要少得多,因为它会抛弃很多信息......您可能会或可能不关心这些信息。如果你不知道自己是否关心,我认为,毫无疑问,你应该保留更多的数据而不是更少的数据 - “汇总和存档”过多的数据相当容易,但是恢复数据并不容易。聚集了;-)。因此,汇总风险更高......
如果您决定保留丰富的每日数据,一种策略是使用多个表,比如说每天一个;这样可以最简单地处理旧数据(对其进行汇总,归档,将其从实时数据库中删除),而不会降低当前的“日志记录”速度。因此,比如说,5月29日的综合浏览量将在PV20090529中 - 与前一天和下一天的表格不同(这需要动态生成表格名称,或者ALTER VIEW
的创意用途,例如在cron-工作等等 - 没什么大不了的!)。我经常发现这种“分片方法”能够获得出色的(有时是意料之外的)投资回报,因为与单片产品相比,DB会超出最初的假设......