简短问题: 处理用户余额和用户交易的最佳方法是什么?
我可能会创建一个事务表,我会记录每个事务,然后选择它以获得实际的用户余额。但是,在同一个用户进行了数千次交易后,这不会很慢吗?一个观点会加快速度吗?
或者我应该将用户余额存储在用户表中,并在我插入事务表时使用mysql事务更新它?
不要惊慌。我没有计划处理真钱。
答案 0 :(得分:1)
是的,从所有交易中动态计算余额将会非常缓慢;一个视图会使查询更容易编写,但不会对性能产生太大影响(视图只是一个简写,它不是一个真正的表)。
您应该使用第二种方法:将当前余额放在account
或user
表中,与所有交易分开,并在您添加交易时更新它。
答案 1 :(得分:1)
您可以使用triggers。每当将新记录添加到transactions
表时,触发更新users
表。