找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 126|回复: 0

数据库死锁以及解决方式

[复制链接]

373

主题

55

回帖

1944

积分

管理员

积分
1944
发表于 2020-8-6 22:07:56 | 显示全部楼层 |阅读模式
数据库死锁
1、 数据库死锁有几种情况,一种是A用户访问A表拿到了A表的锁,然后B用户访问了B表拿到了B表的锁,这时候A用户希望去访问B表的数据需要等待B用户释放B锁,然而B用户拿到B锁以后需要访问A表,A表又的锁又被A用户独占了, 因此互相等待对方释放锁导致数据库死锁的发生。    这种死锁的方式主要是由于程序中对多表的操作顺序不统一导致的,因此在开发过程中尽可能的按统一的顺序对表进行操作,以及对两个表之间的操作间隙尽可能的短。



2、 第二种锁没有看明白,说的是A用户获取了表的共享锁之后对数据进行修改,然后B用户直接对表加一个独占锁,又因为A用户获取了表的共享锁导致等待A用户共享锁的释放,然后A用户有共享锁了,在升级到独占锁的时候看到B拿到了表的独占锁,因此升级失败,A用户等B用户释放独占锁,B用户等A用户释放共享锁。。


https://www.cnblogs.com/edgedance/p/6979612.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2024-9-20 10:36 , Processed in 0.027733 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表