0

我有记录用户购买交易的 hasMany 表。

我还将编写一些代码逻辑,以便它根据具有相同 user_id 的最新创建日期的行获取最新的帐户余额。

我想知道是否还应该在每次交易后在用户表上记录最新的帐户余额?

这对 mysql 性能有帮助吗,还是我真的不应该担心它,因为它不是那么重要?

4

1 回答 1

0

每次您创建一个像您正在考虑的计算字段时,您都会在系统中引入冗余数据。有时软件开发人员选择这样做是为了提高性能,因此您需要在这里衡量的是维护冗余数据的成本与使用计算字段方法实现的平均时间节省。

我会考虑以下几点:

  • 交易关系会增长到多大?
  • 多久会创建一次新交易?
  • 会有多少新的交易来源?
  • 你能加快查询速度吗?(例如日期搜索比整数搜索慢,你可以使用 id,假设越大越新?)

使用计算字段本质上没有什么不好的,只是要注意它所涉及的风险。

干杯

于 2012-09-09T16:09:59.473 回答