gpt4 book ai didi

mysql - 考虑到性能,如何设计允许每个用户一票的评级系统?

转载 作者:行者123 更新时间:2023-11-29 07:08:46 24 4
gpt4 key购买 nike

我正在使用 Ruby on Rails\MySQL,我想实现一个具有以下条件\功能并考虑大量用户和文章的评级系统:

  • 每篇文章有3个评分标准
  • 每个标准都是一个二元函数(示例:好\坏,+1\-1,...)
  • 每个用户可以根据条件和每篇文章一次投票

我想知道在这些情况下,设计数据库(例如 UML 中的例子)的最佳方法\技术是什么,以确保最佳性能(数据库查询的响应时间、CPU重载,...)。

P.S.:我认为评分系统适用于 Stackoverflow 网站。

最佳答案

为评分创建一个表:

CREATE TABLE vote
(
userId INT NOT NULL,
articleId INT NOT NULL,
criterion ENUM('language', 'usefulness', 'depth') NOT NULL, -- or whatever
value BOOLEAN NOT NULL,
PRIMARY KEY (userId, articleId, criterion)
)

这将允许每位用户根据标准对每篇文章最多投一票。

criterion 的类型是enum,它只允许三个不同的标准。此约束在元数据级别:这意味着如果您要添加条件,则必须更改表的定义而不是数据。

关于mysql - 考虑到性能,如何设计允许每个用户一票的评级系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825308/

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