可能重复:
Database design: Calculating the Account Balance
should the user's Account balance be stored in the database or calculated dynamically?
存储用户帐户余额的最佳位置在哪里?为什么?
1)“交易”表,在交易发生时计算或
2)“帐户”表,每次用户登录时或交易发生时都会更新。
答案 0 :(得分:1)
根据规范化规则,您不应存储可以根据其他数据计算的内容。
话虽如此,哪家银行不存储呢?这是您进行去标准化以提高性能的地方,因为系统的许多部分都使用了余额,并且无法在每次需要余额时计算所有交易。
有一个替代方案可以在一夜之间计算出合并后的价值,然后根据自上次合并以来的交易调整价值。