mysql - 每次 COUNT() 函数,还是存储值并将其递增 1?

标签 mysql database performance record-count

我有一个包含用户“投票”表和“用户”表的数据库。我认为数据库会在短时间内变得相当大,所以我想使用最有效的方法。

我在想我可以每次都从“投票”表中使用 WHERE 语句来计算票数,或者我可以将分数存储在“用户”表中,每次都将其递增 1添加投票。

哪个最好/最快,和/或是否有任何其他方法可以做到这一点?

最佳答案

如果您正在考虑最好的方法。您必须大量研究优化和缓存。

我想说, 在用户表上创建一列来存储缓存分数,但在单独的表上维护分数。

每当分数发生变化时,分数表就会运行,并触发用户表更新最新的分数结果。

这样做,您就可以将分数数据扩展到,有点像 stackoverflow 用于投票的内容。

关于mysql - 每次 COUNT() 函数,还是存储值并将其递增 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440770/

相关文章:

mysql - SQL检索在另一个表中没有关系的字段

mysql - 为什么我的 MySQL MATCH() AGAINST() 查询因 LEFT JOIN 数据库中的列而失败?

mysql - SQL 删除时间戳早于(现在 - x 天)的所有行,但保留最近的 n 条记录

database - 如何使用 DataSet 将数据从一个数据库传输到另一个数据库?

android - Room查询中的 "="和 "=="有什么区别?

java - 保留对象的最新版本

javascript - 在 JavaScript 中使用 switch 语句性能运行函数

ios - 在 Swift 中将静态函数声明为私有(private)时的性能和安全问题

MySQL 显示可能的重复项

mysql - SQL 乘车共享公司