MySQL:处理用户平衡的最佳方法?

时间:2014-11-10 16:52:15

标签: php mysql normalization database-normalization

简短问题: 处理用户余额和用户交易的最佳方法是什么?

我可能会创建一个事务表,我会记录每个事务,然后选择它以获得实际的用户余额。但是,在同一个用户进行了数千次交易后,这不会很慢吗?一个观点会加快速度吗?

或者我应该将用户余额存储在用户表中,并在我插入事务表时使用mysql事务更新它?

不要惊慌。我没有计划处理真钱。

2 个答案:

答案 0 :(得分:1)

是的,从所有交易中动态计算余额将会非常缓慢;一个视图会使查询更容易编写,但不会对性能产生太大影响(视图只是一个简写,它不是一个真正的表)。

您应该使用第二种方法:将当前余额放在accountuser表中,与所有交易分开,并在您添加交易时更新它。

答案 1 :(得分:1)

您可以使用triggers。每当将新记录添加到transactions表时,触发更新users表。