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

joh*_*ohn 7 mysql database performance record-count

我有一个用户'投票'表和'用户'表的数据库.我认为数据库会在很短的时间内变得非常大,所以我想使用最有效的方法.

我想我每次都可以用"投票"表格中的WHERE语句COUNT()投票数量,或者我可以将得分存储在"用户"表中,每次投票时都将其增加1添加.

哪个最好/最快,和/或有没有其他方法这样做?

Sta*_*arx 3

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

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

每当分数发生变化时,都会对分数表进行操作,并触发用户表上的最新分数结果更新。

这样做,您的分数数据就具有可扩展性,类似于 stackoverflow 用于投票的数据。