什么是最好的存储用户账户余额的位置,为什么? 1)“交易”表,在交易发生时计算或 2)“账户”表,在用户登录或交易发生时更新。 可能是重复的问题: 数据库设计:计算账户余额 用户的账户余额应该存储在数据库中还是动态计算?
根据规范化的规则,您不应存储可以从其他数据计算出来的内容。话虽如此,哪家银行不存储呢?这就是您需要去规范化以提高性能的地方,因为余额在系统的许多部分中都被使用,每次需要余额时都进行所有交易的计算是不可能的。有一种替代方法是拥有一个在夜间计算的合并值,但然后根据上次合并以来的交易调整该值。