SQL Server结算实施 - 当前余额

时间:2013-05-22 15:03:22

标签: sql sql-server-2008 payment billing

我指定的当前系统没有客户购买,存款和奖励积分(由管理员)的记录 - 只是Users表中的Credit列。每次用户存钱时,该列都会递增。如果他们在网站上买东西,他们的信用将被扣除。

完整的结算实施细节现在并不重要,但我知道我们不得不计算购买和存款以达到目前的余额。

每当我们想知道客户的余额时,我认为我们必须运行存储过程来计算自客户第一笔交易以来的每笔付款/存款记录,对吧?如果是这样,那么这似乎是一个非常重的请求,特别是经常查询。

可能会有一些“平衡的方法”我们可以按照我们目前的方式存储余额,并且通常(通过调度,我猜),使用上面提到的存储过程重新计算每个用户的余额。

我想知道管理用户余额的最佳做法是什么。如果在这种情况下甚至可能,我正在拍摄一致/正确的数据和效率。你有什么建议吗?

实施计费系统有哪些资源?

1 个答案:

答案 0 :(得分:2)

为什么不存储当前余额和交易清单?

发生交易时,请在交易历史记录表中写入一行,并更新客户余额列。

如果您需要客户余额,请查看客户表,如果您需要交易历史记录,请查看交易历史记录表。

通过在原子事务中包装两个数据库写入(事务和客户),可以保证一致性。