gpt4 book ai didi

database - 如何构建支持多种对象投票的投票系统?

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

我真的在寻找与 SO 设置方式非常相似的东西,其中可以对几种不同类型的事物进行投票(问题和答案)。通常,我可以使用哪种 DB 模式来支持对许多不同类型的对象进行投票?

我是否会有一个 Vote 表来引用数据库中的其他对象?或者我是否必须或应该为我想投票的每个对象拥有一个单独的投票表。

最佳答案

凯尔,

有点难以理解您到底需要什么……但这是我的 2 美分:

我假设您希望存储每张选票的投票时间,由谁(可能是 IP 地址或用户名)投票,我会选择单一的投票表解决方案。我还假设当你从数据库中查询一个实体(问题、答案等)时,你也想加入这个表,而且它不太可能只对投票表进行查询。

在这种情况下,您可以在投票表上使用 2 列 - 一列用于投票对象的类型,一列用于保存该对象的 ID。这样您就可以通过指定对象的类型将投票表加入任何其他查询。

我认为在一个表中管理所有投票将使您的域更简单,然后传播它并为每个实体创建一个投票表。在这个单一的投票表解决方案中,您只需要维护实体类型列表(可能使用一个小的字典表)。

还有性能的考虑。如果您期望获得数百万票,那么单个表的增长速度将比一组单独的表快得多。这可能是一个反对它的考虑。如果有很多并发读/写,也要注意不要让它成为瓶颈。

关于database - 如何构建支持多种对象投票的投票系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2580082/

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