gpt4 book ai didi

php - 用于存储视频统计数据的正确数据库架构

转载 作者:行者123 更新时间:2023-11-29 06:17:58 29 4
gpt4 key购买 nike

我的网站中有 100 个视频。如果我必须存储点击的 IP 地址、点击的国家/地区和时间,我是否需要为每个视频创建一个单独的表(在我的例子中为 100 个表)。我的视频 ID 示例表架构:1

Table name: ID_1
IP_address | country | time

我可以通过哪些替代方法来做到这一点。 (我不想使用 Google Analytics,因为我想先自己尝试一下)

我正在使用 PHP 和 MySQL。

最佳答案

Do I need to create a seperate table for each video (100 tables in my case)

不要!

只需在表中添加一列作为视频表的外键即可。另外,添加主键列和其他一些列:

Table name: videos_clicks
id | video_id | ip_address | clicks | country | last_time
Primary key: id
Unique Index: video_id, IP_address

然后您就可以非常简单地使用它。例如,要插入新行:

INSERT INTO videos_clicks (video_id, ip_address, clicks, country, last_time)
VALUES (1, '123.45.67.89', 1, 'country_name', UNIX_TIMESTAMP())
ON DUPLICATE KEY UPDATE clicks = clicks + 1, last_time = UNIX_TIMESTAMP()

或者获取 ID 为“1”的视频的所有点击:

SELECT id, ip_address, clicks, country, last_time
FROM videos_clicks
WHERE video_id = '1'

您可能还需要考虑创建一个表countries,并将country varchar/text 列替换为数字country_id,该列将指向国家表:

Table name: countries
id | name | twoletter | threeletter
-----------------------------------
1 Andorra AD AND
2 Afghanistan AF AFG
...
-----------------------------------
Primary key: id

请阅读有关 databaze normalizing 的内容。它将使您的申请更加有效,并最终让您的生活变得更加简单。

关于php - 用于存储视频统计数据的正确数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5416478/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com