视频中间隙锁导致死锁案例:
下面是我理解的
问题:关于当前间隙锁的范围理解是否正确?
登陆购买课程后可参与讨论,去登陆吧
不会锁这么大的范围,比如:
select * from t18 where a=1 for update;
只要保证不会新增a=1的记录,就行。
其实也好验证,比如session1执行:
session2执行:
insert into t18(a,b,c) values (4,4,4);
看能不能正常执行。
按照以下步骤实验:
session2中(2,4,4)、(4,4,4)均成功插入,(1,4,4)等待;由此可看出a=1被锁定,但这是不应该是记录锁吗?为什么还是间隙锁?
再做如下实验:
为什么session2中(1,4,4)、(2,4,4)、(3,4,4)、(4,4,4)均无法插入?
这一章第3节的第7分钟开始,有解读类似的间隙锁加锁范围,这个例子他加锁范围应该是(1,1,1)到 (4,4,4)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
本课程主要讲解MySQL DBA需要掌握的技术,包括MySQL基础、日志文件、讲师的实战经验分享、常用工具、高可用、优化、DBA 实战项目等内容。
57 6
42 5
27 4
36 3
19 3
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星