关于hasMany表的数据库性能讨论

时间:2012-09-09 14:47:34

标签: mysql cakephp

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

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

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

这对mysql性能有帮助还是我真的不打扰它,因为它不是那么重要?

1 个答案:

答案 0 :(得分:0)

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

我会考虑以下事项:

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

使用计算字段没有任何内在的坏处,只要知道它涉及的风险。

干杯