【发布时间】:2010-05-28 13:05:19
【问题描述】:
我必须根据单个操作为每个用户计算一个“总数”——也就是说,一个用户有许多操作,每个操作都有一个点。所以我需要基本上得到所有动作的所有分数的总和。
定期添加和减去操作。由于这可能是一项相当繁重的操作,因此每次需要时都执行“total”是不可行的。因此,我正在考虑为每个用户每天运行一次操作,并将用户的总积分存储为 int。
因为我有成千上万的用户,所以我正在尝试找出最好的方法来做到这一点。我应该基本上遍历所有用户并每次都调用 User.save() 吗,还是可以在 Grails / GORM 中使用某种批量更新机制?
【问题讨论】:
-
你的问题很有趣。有时间我会尽量给你答复的。
-
您不需要总和始终准确吗?为什么不即时计算用户的总数?
-
Mike - 我最初就是这样做的,但它对性能产生了相当大的影响——尤其是当我需要同时显示多个用户的总数时。在我的情况下,这是一个相当复杂的计算。
标签: grails groovy grails-orm