gpt4 book ai didi

mysql - 数据库数据不一致

转载 作者:行者123 更新时间:2023-11-29 14:49:19 25 4
gpt4 key购买 nike

我的数据库中有三个表 BILL,RECHARGE AND SENT .BILL表有一列名为 UNITBALSRECHARGE表有一列名为 UNITS还有SENT表有一列名为 VOLUME .通常应该发生的情况是,当客户为其帐户充值时,他的新UNITS将与他的旧 UNITS 相加关于RECHARGE表和 VOLUME 的总和SENT 上发送的消息总数的表将从 UNITS 的总和中减去上RECHARGE表,结果将用于更新 UNITBALS关于BILL但现在的问题是,当客户充值时,UNITBALS BILL 表上的内容会更新为新余额,有时会更新 UNITBALS正在使用比应有的更高的值进行更新。现在我的数据库中存在某种不一致,客户正在提示。

最佳答案

据我所知,您正在将聚合计算的结果存储在 BILL.UNITBALS

具体

BILL.UNITBALS = SUM(RECHARGE.UNITS) - SUM(SENT.VOLUME)

除非您犯了严重错误,否则可能发生的情况是由于待处理的交易和 transaction isolation level您缺少一个应该考虑的值。

由于这个问题,我尽力避免将计算结果存储在数据库中

通常这意味着我每次检索数据时都会进行计算。这可能(也可能不是)性能问题,但至少您有更多机会获得正确的信息。

如果性能惩罚太高,那么我建议您每 24 小时仅进行一次对账,并添加免责声明,例如“所付款项在 X 个工作日内不会出现在您的帐户中”

关于mysql - 数据库数据不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com