|
|
1
7
好吧,是的,但你需要着眼于大局。拥有一百万条内容: (内容大小)>>(选票数量):其中“>>”表示“大得多” 如果你有一百万条内容,那么这可能是一TB的数据,而投票量是400MB。这有什么大不了的,对吧? 我还想补充一点,如果你担心可扩展性,请查看这个博客: |
|
|
2
11
就个人而言,只要你有好的索引,你就会以正确的方式去做。根据您的使用情况,为了表现,您可能会尝试通过存储二次计票信息来避免进入投票表,但总体而言,如果您必须跟踪世界卫生组织的投票情况,您需要按照您列出的方式进行。 我不会费心转移到另一个数据库,如果你真的关心SQL Server,你可以创建一个单独的文件组来保存它……但很可能不是必需的。 |
|
3
4
如果你需要跟踪用户是否对特定项目进行了投票,并且投票值不同(例如1星到5星),那么这是最紧凑的。 不要忘记,为了获得合理的访问速度,您需要对数据进行索引(可能有两个索引——一个以ContentID为前导列,一个以userID为前导栏)。 您需要决定是否有理由不将该表与其他表分开存储。这意味着什么取决于您使用的DBMS——使用Informix,表将位于同一数据库中,但存储在不同的数据库中 数据空间 ,您可能将索引存储在另外两个不同的dbspace中。 |
|
|
4
4
您可能还需要表中内容作者的ID,以便更容易检测投票滥用。(是的,这可能是多余的信息。另一种方法是定期构建一个汇总表,看看谁在投票给谁。) 不管怎样,perlmongs的投票表看起来是这样的:
(vote_id是内容id,ip是ip地址。) |
|
|
5
0
我想说,你需要弄清楚这些投票将如何使用,并首先为你的数据模型设计特定的查询。这不一定是SQL模型。如果你来自SQL世界,通过官方的MongoDB教程有助于在开始时理清思路。
例如,如果您只需要存储和显示单个问题页面的投票,那么将投票存储在问题的单个字符串字段中可能会很方便,如下所示
这种架构允许在这些特定情况下避免昂贵的读取计算,但更新
免责声明:我从未实施过这样的事情,这只是一个想法。 |
|
|
blogger13 · 视频租赁店数据库的规范化 1 年前 |
|
|
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
Grenish Rai · Firestore错误“用户文档不存在” 1 年前 |
|
|
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
|
Dante · Django::配置不当:池不支持持久连接 1 年前 |
|
YouLocalRUser · 删除重复行,保留第一行 1 年前 |