网站首页
手机版

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

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

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的独占锁而无法上升的独占锁也就不可能释放共享锁,于是出现了死锁。这种死锁比较隐蔽,但在稍大点的项 目中经常发生。如在某项目中,页面上的按钮点击后,没有使按钮立刻失效,使得用户会多次快速点击同一按钮,这样同一段代码对数据库同一条记录进行多次操 作,很容易就出现这种死锁的情况。解决方法为:对于按钮等控件,点击后使其立刻失效,不让用户重复点击,避免对同时对同一条记录操作。

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

为您推荐

支付宝惊喜小红包怎么用(支付宝领大红包技巧)

支付宝是手机支付的常用工具之一,我们在线下付款之后,经常跳出来一个惊喜小红包,具体如何使用呢?首先,打开手机支付宝,点击“卡包”查看卡

2023-04-12 17:53

动物左右怎么分例题(小动物左右怎么分)

小朋友们排队站好,老师会问你的左手边是谁,右手边是谁呢,这个问题大家都觉得很好回答,那么如果是小动物排队站好,怎么区分左右呢,一起来看

2023-04-12 17:50

僵苗后该怎么处理呢(植物僵苗后该怎么处理)

很多人喜欢在日常的时候种一些花花草草的,而僵苗现象时有发生,那么僵苗后该怎么处理呢?换盆:僵苗之后一定要及时的换盆,这样子的话能够疏

2023-04-12 17:48

这是我的战争杀人方法技巧(这是我的战争刺杀技巧)

诱杀:先判定好躲藏点,然后走到敌人附近,用跑步的声音跑到躲藏点藏起来,敌人听到声音会过来巡查,走到躲藏点玩家就直接用斧头一击必杀。居

2023-04-12 17:46

水泵自动控制器是怎么使用 水泵智能控制器怎么使用

水泵自动控制器是怎么使用水泵控制器使用方法:  直接把水泵智能控制器接入管路内,无需外接继电器,即可实现低压水泵启动抽水,高压水泵

2023-04-12 17:43

black pink成员介绍 blackpink成员资料

1、BLACKPINK,韩国女子演唱组合,由金智秀(JISOO)、金智妮(JENNIE)、朴彩英(ROSé)、LISA四名成员组成。2、Jisoo出生在韩国,是一名90后,她是black pink里的领唱和舞蹈担当,她的

2023-04-12 17:41