微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库数据不一致

如何解决数据库数据不一致

| 我的数据库中有三个表
BILL,RECHARGE AND SENT
.
BILL
表有一个名为
UNITBALS
的列,
RECHARGE
表有一个名为
UNITS
的列,
SENT
表也有一个名为
VOLUME
的列。通常应该发生的是,当客户为他的账户充值时,新的
UNITS
将与他的旧
UNITS
RECHARGE
桌上的总和相加,并且从
RECHARGE
桌上的
UNITS
的总和中减去
SENT
桌上的已发送消息的
VOLUME
的总和,并将结果用于更新
UNITBALS
但是现在的问题是,当客户向他们的账户充值时,BILL表上的
UNITBALS
会被更新为新余额,或者有时the2ѭ会被更新为比应有的值更高的值。现在在我的数据库中,客户在抱怨。     

解决方法

因此,根据我的收集,您正在将汇总计算的结果存储在BILL.UNITBALS上 特别
BILL.UNITBALS = SUM(RECHARGE.UNITS) - SUM(SENT.VOLUME)
除非您犯了一个严重的错误,否则可能是由于挂起的事务和事务隔离级别导致您缺少应考虑的值。 由于这个问题,我尽力避免将计算结果存储在数据库中 通常,这意味着我每次检索数据时都要进行计算。这可能是(也可能不是)性能问题,但至少您有更多机会获得正确的信息。 如果性能罚款过高,那么我建议您每24小时只进行一次对帐,并添加免责声明,例如“您的帐户将在X个工作日内不会显示付款”     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。