目前我计算用户余额的方法是
def balance
transactions.where('txn_type = ?', Transaction::DEPOSIT).sum(:amount) -
transactions.where('txn_type = ?', Transaction::PURCHASE).sum(:amount)
end我正在运行一个查询,减去所有用户的存款,并减去他们所有的购买。当有数千个事务时,这不会有很好的伸缩性。计算用户余额的最佳方法是什么?有没有办法自定义counter_cache来计算每个用户的这个值?
发布于 2012-05-01 05:30:31
可以,您可以指定将用于设置counter_cache的:counter_sql。
rails guide对此进行了详细介绍。
https://stackoverflow.com/questions/10386234
复制相似问题