0

基本上我有一个用户可以上传和共享文件的网站。我希望这样用户可以跟踪过去 30 天内的下载量,并能够单独查看这 30 天中的每一天。

我正在考虑创建一个包含 31 列的表,其中 1 列是 id,其余的是 day1、day2、day3 等...每天更新此表,将 1 天的下载量移至前一天。

我的问题是这会有效还是有更好的方法来解决这个问题?

4

3 回答 3

3

你最好有一个链接到你的文件表的下载表。每次下载文件时,下载表都会创建一条记录。

id
file_id
ip_address
user_agent
created

等等

然后编写一个查询来确定一天发生了多少下载将是一件很容易的事。

于 2013-01-13T03:15:05.257 回答
1

为了准确确定符合您标准的经过天数,我建议您确定当前日期与提交记录日期之间的差异。然后,使用此方法将允许您确定应该包含哪些内容和不应该包含哪些内容,而无需复杂的列结构。

于 2013-01-13T03:11:53.823 回答
0

这不会特别有效。我希望更好的方法是有一张桌子:

UniqueID
FileID
DownloadTimeStamp

并连续记录每次下载。通过适当的索引(FileID、DownloadTimeStamp),可以进行动态分析。

根据您每天的意思(在某些全球时间,如 UTC,或在用户的时区),您可以将这些汇总到:

FileID
Day
Count

如果这似乎是一个性能问题,请减少分析的工作量。

于 2013-01-13T03:17:08.807 回答