- 3
- 0
- 约1.94千字
- 约 5页
- 2023-08-03 发布于北京
- 举报
插入意向锁死锁
本章介绍一种比较不常见的死锁现象,和我们通常理解的死锁发生过程不太一样,能使读者对死锁现象有新的理解。
问题现象
死锁这种情况大家肯定都遇到过,第34章和第35章也介绍了两个死锁案例,本章的案例是客户在生产系统中遇到一个死锁现象,但是不能理解在这种情况下为何会发生死锁。通常死锁发生的情况如图36-1所示。
图36-1(图片来自网络)
当两个事务都试图获取另一个事务已经拥有的锁时,就会发生死锁。
事务1(Transaction 1)在记录A(Record A)上获得锁,事务2(Transaction 2)在记录B(Record B)上获得锁。随后每个事务都尝试获取另一个事务持有的锁将触发死锁。
但在这个案例中死锁的产生和上述所讲的情况有些不一样,我们来模拟一下。
(1)环境信息
事务隔离级别:RR
MySQL版本:8.0.13
(2)复现情况
表结构及数据如下:
操作步骤如表36-1所示。
表36-1
在Session 1中执行了UPDATE语句,随后在Session 2中执行了一个全表查询并且带上IN SHARE MODE添加了共享锁,接下来在Session 1中再次执行了INSERT语句,同时Session 2直接报出死锁事务被回滚了。
问题分析
针对上述情况,令人疑惑的地方有如下几点:
两个事务之间是如何加锁的?
为何产生了死锁?
发生死锁后为什么是Sessio
您可能关注的文档
最近下载
- 管道支吊架手册(1983)-华东院.pdf VIP
- 2025年互联网营销师云平台支持的用户画像构建专题试卷及解析.pdf VIP
- 重庆市城区水环境综合治理工程可行性研究报告(参考范文).docx
- 《春节蒸大馍》第1课时 教学课件 2026秋鲁教版美术二年级上册.pptx
- D便梁施工专项方案.pdf VIP
- 小学信息科技浙教版四年级上册:第1课 身边的数据.pptx
- chapter2-工程中的风险安全与责任.pptx VIP
- 2025年人力资源管理师领导力与绩效管理专题试卷及解析.pdf VIP
- 2025年人教版高二生物自然选择与人工选择试卷及解析.docx VIP
- 2025年拍卖师拍卖法中关于客户权利与义务的条款应用专题试卷及解析.pdf VIP
原创力文档

文档评论(0)