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


MySQL: Best way to handle user balance?

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

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

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

不要惊慌。我不打算处理真金白银。

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

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

您可以为此使用触发器。每当向transactions表中添加新记录时,触发器都会更新users表。