说明
1、当我们用范围条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做间隙。
2、InnoDB也会对这个间隙加锁,这种锁机制就是所谓的间隙锁。
注意
若执行的条件是范围过大,则InnoDB会将整个范围内所有的索引键值全部锁定,很容易对性能造成影响。
实例
Transaction-A mysql> update innodb_lock set k=66 where id >=6; Query OK, 1 row affected (0.63 sec) mysql> commit; Transaction-B mysql> insert into innodb_lock (id,k,v) values(7,'7','7000'); Query OK, 1 row affected (18.99 sec)
以上就是mysql间隙锁的介绍,希望对大家有所帮助。更多编程基础知识学习:python学习网
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑