[英]Store a user's “rating” in profile or constantly run SQL queries to get average from separate table
为了获得用户的平均评分,我应该每次运行SQL查询来从不同的表中计算平均值,还是应该将当前的平均值存储在用户的配置文件中以便于使用?
更加具体...
我正在开发一个用户反馈/评分系统。 我有两个表,一个表名为“用户”,另一个表为“注释”。 评论表将包含评论,评分和用户ID。 我想要获得给定用户的平均评分,这[显然]是所有评分的总和除以评分数量。 我可以每次运行此查询并收集所有行,然后进行数学运算,否则...
要限制对数据库的查询数量,只需更新“用户”表中的平均值即可。 每次添加新评论/评分时,用户行也会被更新。
这更有利吗? 会改善页面加载量吗? 任何建议,欢迎:)
这是思考的好方法。 该术语称为“开销”。 应用程序占用系统资源的数量。
如果我是你,我会做的是这个
在您实际遇到性能瓶颈之前,我将忽略数据库必须处理的查询数量。 否则,您将面临过早优化的严重风险(众所周知,这是万恶之源 )。
现在,只需选择简单的选项:
之类的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.