0

我正在创建一个数据库,该数据库将存储用户下载媒体文件的次数,以及用户下载的媒体文件(基于 IP,无需登录)。我只是不确定 MySQL 数据库的正确结构。

我已经有一个包含所有媒体文件的数据库,因此计数不会成为问题,但我也希望能够查看谁下载了文件。我将使用 PHP 来检索内容,但我不确定如何最有效地获取它。就像这样:“XYZ.mp3 有 20 次下载。[IMN CMS]点击XYZ.mp3 已被 1.2.3.4 下载了四次,其他 IP 下载了 16 次”

另外,我希望能够看到 1.2.3.4 已经听了 XYZ.mp3 四次,HWM.mp3 听了一次,等等。

此外,我最终想知道他们听了多少 mp3 文件。(我的网站上有一个内置播放器)我也希望它可以看到很多人根据文件听了这么多,或者这个用户已经听了这么多这个文件。

如前所述,我知道如何计算多少次,但我不确定如何最有效地构建第二部分,以便可以快速收集数据。

此外,文件数量每周线性增长,最终会变成一个非常大的数字,所以我不确定是否有 200 列(现在)根据需要扩展是要走的路吗?我不希望有庞大的用户群,但你永远不知道。我不想在以后重组和重新编码,因为它确实如此。

感谢您的帮助,如果您有任何问题,请告诉我。

4

2 回答 2

1

如果是我,我会有 3 张桌子:

  1. 连接- 使用一些唯一的连接 ID 保留 IP 和会话 ID。
  2. 下载- 保留文件 ID 和连接 ID。这可以让您知道文件已下载多少次以及通过哪个连接。
  3. 播放- 保留文件 ID、连接 ID 和文件 dl %。用于http partial content跟踪给定连接 ID 已播放每个文件的多少。

在这三个之间,您可以根据您的要求建立统计数据。

于 2013-01-01T16:21:59.693 回答
0

如果我是你,我会做以下事情:

1.我会给每个文件一个id号,mysql可以自动递增。

2.然后我将创建另一个表,其中存储用户下载的文件的 ip 和 id。

希望这可以帮助。

于 2013-01-01T17:11:31.313 回答