网站首页
手机版

mysql死锁的原因及解决方法 mysql造成死锁的原因

更新时间:2022-07-27 06:09:26作者:未知

mysql死锁的原因及解决方法 mysql造成死锁的原因

mysql死锁的原因及解决方法如下:

  

  1、一个用户A访问表A(锁住了表A),然后又访问表B;另一个用户B 访问表B(锁住了表B),然后企图访问表A;这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B才能继续,同样用户B要等用户A释放表A才能继续,这就死锁就产生了。解决方法为:这种死锁比较常见,是由于程序的BUG产生的,除了调整的程序的逻辑没有其它的办法。仔细分析程序的逻辑,对于数据库的多表操作时,尽量按照相同的顺序进 行处理,尽量避免同时锁定两个资源,如操作A和B两张表时,总是按先A后B的顺序处理, 必须同时锁定两个资源时,要保证在任何时刻都应该按照相同的顺序来锁定资源。

  

  2、用户A查询一条纪录,然后修改该条纪录;这时用户B修改该条纪录,这时用户A的事务里锁的性质由查询的共享锁企图上升到独占锁,而用户B里的独占锁由于A 有共享锁存在所以必须等A释放掉共享锁,而A由于B的独占锁而无法上升的独占锁也就不可能释放共享锁,于是出现了死锁。这种死锁比较隐蔽,但在稍大点的项 目中经常发生。如在某项目中,页面上的按钮点击后,没有使按钮立刻失效,使得用户会多次快速点击同一按钮,这样同一段代码对数据库同一条记录进行多次操 作,很容易就出现这种死锁的情况。解决方法为:对于按钮等控件,点击后使其立刻失效,不让用户重复点击,避免对同时对同一条记录操作。

本文标签: 死锁  解决方法  原因  标签  

为您推荐

怎么去掉页眉页脚 word文档怎么去掉页眉页脚

Word文档中的页眉和页脚用于标注一些重要的版权、声明类信息,可是更多时候我们还是需要将该功能去掉,下面就来看一下具体的去掉页眉页

2023-12-10 10:36

哩咔怎么设置支付密码(哩咔怎么提现)

哩咔也是可以设置支付密码的,这里就一起研究下:哩咔怎么设置支付密码?哩咔要设置支付密码,把【哩咔】APP启动下。看到哩咔界面,把【我】点

2023-12-10 10:35

忍3幻术使称号怎么获得详细 忍3幻术使称号怎么显示

忍3幻术使称号怎么获得详细?一起来看看吧。第一步:首先进入游戏当中。第二步:进入特殊忍具,点击忍术使。第三步:可以看到需要获得忍者皮肤

2023-12-10 10:34

编织车钥匙扣的方法(怎样编织车钥匙扣)

今天就给大家分享一个钥匙串钥匙扣一样的编织。简简单单,希望你的生活也是简单跟快乐!先将钥匙环套到编织绳上将绳子合到一起,折过来从

2023-12-10 10:33

香菇木耳鸡蛋豆腐汤的做法(木耳豆腐鸡蛋汤的做法大全)

香菇特有的香味,做出的汤特别的鲜美,再加上豆腐鸡蛋的滑嫩柔软。香菇木耳鸡蛋豆腐汤不仅味道好,而且营养十足。香菇木耳鸡蛋豆腐汤的做

2023-12-10 10:32

原神岩之印在哪里兑换(原神岩之印怎么换钱)

在游戏《原神》中,原神岩之印获得方式是地图探索和岩神像升级。岩之印是会刷新的,因此玩家可以在同一个地点多次获得岩之印。岩之印可

2023-12-10 10:31