您现在的位置是:课程教程文章

mysql间歇锁是什么

2023-12-14 20:15课程教程文章 人已围观

说明

1、间隙锁是Innodb在提交下为了解决幻读问题时引入的锁机制。

2、对于键值在条件范围内但并不存在的记录,在相等条件下请求给一个不存在的记录也会加锁,叫做间隙锁。

实例

#session1操作会话session1开启事务

mysql>begin;

QueryOK,0rowsaffected(0.00sec)

#session1更新id=11的数据,获取行锁。

mysql>select*fromuserinfowhereid=11forupdate;

Emptyset(0.00sec)



#session2操作会话session2开启事务

mysql>begin;

QueryOK,0rowsaffected(0.00sec)

#session2在会话session2新增数据主键为12

mysql>insertintouserinfovalues(12,'hh',18);

....一直处于阻塞状态

#如果等待时间过长,session1没有释放锁,会抛出如下异常。

ERROR1205(HY000):Lockwaittimeoutexceeded;tryrestartingtransaction

以上就是mysql间隙锁的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL

推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

课程教程:mysql间歇锁是什么

上一篇:mysql间歇锁的特性分析

下一篇:没有了

站点信息

  • 文章统计篇文章