gpt4 book ai didi

database - 数据库设计 : one or two tables to remember a user choice

转载 作者:搜寻专家 更新时间:2023-10-30 23:05:30 24 4
gpt4 key购买 nike

我的数据库中有一个(巨大的)项目列表,我的用户(也有很多)能够说出他们是否喜欢每个项目,我需要将这些信息保存在数据库中。

我的问题是最好的设计是什么:

  • 一个表,每个用户的每个项目都有两个 bool 列“喜欢”和“不喜欢”(非常大)

  • 两张表,一张用户喜欢的,一张用户不喜欢的(不太大的表,但需要做额外的连接)

  • 也许是我没想到的另一种方式

基本上,就性能而言,拥有一个非常大的表(项目 * 用户)还是将其拆分为两个表并使用连接更好?

最佳答案

您应该先针对功能进行设计,然后针对性能进行调整。您是否有任何需要访问两组信息的查询(例如,计算给定主题的“净喜欢”)?如果是这样,这将建议一个表。由于用户不能同时喜欢和喜欢一个主题,因此对您当前建议的改进可能是单个 bool 列 - true 可以表示“喜欢”,false 表示“不喜欢” .这样您就可以为它编制索引,甚至根据它对表进行分区以提高性能。

关于database - 数据库设计 : one or two tables to remember a user choice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932761/

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