区间锁,只锁一个索引区间(开区间,不包括双端端点)
1、在索引记录之间的间隙中加锁,或在索引记录之前或之后加锁,不包括索引记录本身。
2、间隙锁可用于防止幻读,以确保索引之间不会插入数据。
实例
session 1: start transaction ; select * from news where number=4 for update ; session 2: start transaction ; insert into news value(2,4);#(阻塞) insert into news value(2,2);#(阻塞) insert into news value(4,4);#(阻塞) insert into news value(4,5);#(阻塞) insert into news value(7,5);#(执行成功) insert into news value(9,5);#(执行成功) insert into news value(11,5);#(执行成功)
以上就是mysql间隙锁的用法,希望对大家有所帮助。更多mysql学习指路:
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑