gpt4 book ai didi

mysql - 将相似的数据对象合并到单个表中是否有效?

转载 作者:行者123 更新时间:2023-11-29 09:25:59 25 4
gpt4 key购买 nike

我需要存储关于我的问题和答案系统的大量类似数据,例如投票、关注、书签等。

以投票为例,存储问题、答案和帖子投票的最佳表格布局是什么?

  1. 将投票分开存储,即得到3个表:UserQuestionVotes、UserAnswerVotes和UserPostVotes

  2. 将投票存储在一个表中:UserVotes(id,user_id,item_id,item_type,投票),while: item_id 和 item_type 是问题、答案或帖子的 id 和类型,vote = -1/1

如果我走第一种方式,我至少会有9张 table 。而如果我走第二种方式,即所有的数据都在一个堆中,那么以后填表的时候就会慢一些。

在我的情况下哪种方式有效?

最佳答案

如果您正在寻找我的意见,我会选择 1 号门。问题、答案和帖子虽然相关,但都是独立的“事物”。而且,这些“事物”中的每一个都恰好有与之相关的“投票”……但是,实际上,“投票”不是“事物”。

“对问题投票”与“问题”紧密相关。 “投票给……”其他都是一样的。所以现在我开始考虑我最有可能实际编写的查询。我最有可能想要编写查询,比如说,计算一个特定问题有多少票……而且我真的不想混淆该查询并使其“难以编写”或被迫查看一堆不是“对问题进行投票”的记录。其他类型的投票不相关,我不想将它们过滤掉。 (如果我需要编写一个查询来计算“该用户对任何事物投了多少票?”,无论如何我都可以很容易地编写它。)

这是我的观点。(数据库管理器可以自己处理“效率”。设计数据库,以便您需要编写的查询能够轻松、清晰地编写。 )

关于mysql - 将相似的数据对象合并到单个表中是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59605254/

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