gpt4 book ai didi

mysql - “喜欢”系统数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:16:48 32 4
gpt4 key购买 nike

我正在开发 web 应用程序,我必须像 facebook 那样实现“喜欢”系统。应用程序将包含客户可以“喜欢”的几类产品。所以我开始创建数据库,但遇到了一个障碍。据我了解,有两种方法可以做到这一点:

首先。创建一张数据库表,字段为“id, user_id, item_category, item_id”。当用户点击“喜欢”按钮时,信息将与各种产品类别 (item_category) 一起保存在此表中。

其次。为某些类别的项目创建多个表。例如,“tbl_item_category_1、tbl_item_category_2、tbl_item_category_3”字段为“user_id、item_id”。

如果能更深入地了解此类数据库结构的最佳实践,那就太好了。哪个工作得更快?更合乎逻辑/更实际?我将只使用几类元素。

最佳答案

我会选择第一个版本,表结构与此类似:

User Table: PK id
id
username

Category Table: PK id
id
categoryname

Like Table: PK both user_id and catgory_id
user_id
category_id

这是一个SQL Fiddle带有表结构演示和两个示例查询,以按用户和按类别提供总喜欢数

第二个 - 创建多个表是个糟糕的主意。如果您有 50-100 个类别,则尝试查询这些表会很糟糕。它将变得完全无法控制。

如果你有多个表试图获得一个总喜欢数将是:

Select count(*)
from category_1
JOIN category_2
ON userid = userid
join category_3
ON userid = userid
join .....

毫无疑问,使用一张 table 。

关于mysql - “喜欢”系统数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10832006/

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