我想知道你们对做一些Web计数器后端的最佳方法有什么想法。我将跟踪通过PHP进行的下载,每天大约有150万次“下载”,而我要存储的只是“ userid”和“ downloadid”。可能还有时间吗?最好的方法是什么?在每天结束时,我应该编译所有重复的downloadid并制作另一个由“ day”和“ downloadid”索引的表,然后添加“ count”列吗?
显然,两个表都将非常大,在3个月后,我可以将表压缩为带有“计数”的“ month”和“ downloadid”。我只是想看看是否有更好的方法?再一次,我更喜欢PHP / MySQL方法。
编辑:我可以使用类似以下内容的方法:http://www.infobright.org显然,我需要按需调出统计数据,但阅读的写作很有可能是1000:1
谢谢,
詹姆斯·哈蒂格
最佳答案
我不太确定为什么要创建多个表。您担心桌子的大小吗?
只需将每次访问都插入一个表中并带有ID,时间戳和下载ID的行,就可以了。正确编写的SQL查询应允许您在查询中使用WHERE语句在插入数据后的特定日期和时间或特定的下载ID中提取数据。
希望有帮助!
编辑:This article运行60亿行的某些测试。据我所知,即使有这么多行,MySQL仍然运行相当快。