我正在尝试向站点添加一个非常简单的积分系统。在我的 SQL 数据库中,有一个用于奖励积分的表格,因为管理员可以将用户的积分增加任意数量,以及增加积分的理由。因此,稍微简化一下,此表包含每次管理员奖励积分时获得的积分数、理由和用户 ID。到现在为止还挺好。
但是,网站上有 10 个用户组争夺最高总分。单个用户组的总点数很容易达到 15 000,因为该站点已经有超过 10 000 名成员(诚然,大多数是不活动的)。我想有一个排行榜来显示竞争的用户组和他们的总分,但我担心在实施系统时,每次总结积分会花费太长时间。问题是:我应该在什么级别(如果有的话)将积分汇总保存在数据库中?我是否应该在用户表中为每个用户的总积分设置一个字段,并为用户组排行榜即时汇总这些积分?或者我应该为每次将点添加到单个用户时更新的每个用户组都有一个聚合字段?在实际实施该系统之前,我