问题描述
用户的账户余额应该存储在数据库中还是动态计算?
Should the user's Account balance be stored in the database or calculated dynamically?
为了获得准确的结果,动态计算它是有意义的,但是当有很多用户并且数据库变得非常大时,这可能是一个问题?
For accurate results calculating it dynamically make sense but then it might be a problem, when there are many user's and the database grows very large?
交易
- ID (PK)
- 帐户编号
- 类型
- 日期时间
- 金额
- 等等...等等...
账户余额
- 事务 ID (PK/FK)
- 余额
推荐答案
为了保持准确的审计,您应该记录每笔影响用户帐户余额的交易.这意味着您可以动态计算余额,但是出于性能原因,我也会存储余额.不过,为了确保余额正确无误,我每天都会运行一次作业,从头开始重新计算余额.
In order to keep accurate auditing you should make record of every transaction that affects the users account balance. This means you can calculate the balance dynamically, however for performance reasons I would have the balance stored as well. To ensure the balance is correct though, I would have a daily job run that recalculates the balance from scratch.
这篇关于用户的账户余额应该存储在数据库中还是动态计算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!