首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql数据库中存储可变数量的文件下载统计数据

在mysql数据库中存储可变数量的文件下载统计数据
EN

Stack Overflow用户
提问于 2012-01-27 01:46:59
回答 1查看 161关注 0票数 0

我有一些文件在我的网站上是私人的,并通过php推送。我使用mysql数据库跟踪下载情况。目前,我只对每个文件使用一列,每天插入一个新行,这很好,因为我没有太多的文件。

然而,我将开始相当频繁地添加和删除文件,并且文件的数量将变得非常大。在我看来,我有两个选择:

第一种方法是在添加和删除每个文件时为其添加和删除列。这将很快导致表具有非常多的列。我是自学的,所以我不确定,但我认为这可能是一件非常糟糕的事情。一旦有很多行,添加和删除列听起来像是一个非常昂贵的操作。

我也可以创建一个带有通用'fileID‘字段的新数据库,然后每天为每个文件添加新行,但这会导致很多行。此外,要为第二天创建跟踪,还需要大量的行插入操作。

哪一个更好?或者我还遗漏了第三个解决方案?我应该使用mysql之外的其他东西吗?我想要的东西,可以查询,这样我就可以在网站上显示为图表的统计数据。

非常感谢您的帮助,并抽出时间阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-27 01:51:37

I还可以创建一个带有通用'fileID‘字段的新数据库,然后每天为每个文件添加新行,但这会导致很多行。

是的,这是你需要做的--但是你的意思是“一个新的表”,而不是“一个新的数据库”。

基本上,您需要一个file表,它可能如下所示:

代码语言:javascript
复制
 id | name      | created_date | [other fields ...]
----+-----------+--------------+--------------------
  1 | foo.txt   | 2012-01-26   | ...
  2 | bar.txt   | 2012-01-27   | ...

您的downloads_by_day表将引用它:

代码语言:javascript
复制
 id | file_id | `date`     | download_count
----+---------+------------+----------------
  1 |       1 | 2012-01-27 |             17
  2 |       2 | 2012-01-27 |             23
  3 |       1 | 2012-01-28 |              6
  4 |       2 | 2012-01-28 |            195
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9022762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档