【问题标题】:How to avoid deadlock in PostgreSQL如何避免 PostgreSQL 中的死锁
【发布时间】:2020-01-11 20:21:32
【问题描述】:

我在从数据库表中扣除用户点数的情况下遇到问题,同时当请求添加点数时,由于死锁条件而未添加点数。我需要建议避免僵局。我不能使代码线程安全,因为它会影响处理。我使用 Postgres 作为数据库。

【问题讨论】:

    标签: java postgresql spring-mvc


    【解决方案1】:

    如果死锁只是偶尔发生,请不要担心。只需重复交易即可。

    如果它经常发生,您必须做更多工作才能获得良好的性能。降低死锁频率的措施有两种:

    • 保持交易简短,不要在一笔交易中添加或删除不必要的积分。

    • 当您在事务中修改多个点时,以某种固定顺序处理(并因此锁定)这些点,例如按主键列的顺序。

    【讨论】:

      猜你喜欢
      • 2017-05-04
      • 1970-01-01
      • 2013-06-07
      • 2012-08-14
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多