MySQL InnoDB存储引擎锁机制实验(三)
务在前一个事务索引值前后的左闭右开区间是不能并行插入数据的,必须等待上一个事务提交或回滚;
2、 当前一个事务不是通过索引字段来进行更新操作时,那么InnoDB的这种间隙锁就能够完全避免幻读的出现,因为它会将整个表锁住,在当前事务提交或回滚之前,阻塞所以insert操作。
说明:
1、 以上实验的所以update操作,更换为delete操作,效果完全一样;
2、 如果修改InnoDB的默认事务隔离级别,由可重复读修改为读已提交,那么以上现象均不会出现,所以这样的锁机制只在可重复读这一事务隔离级别出现,或者说这是InnoDB可重复读事务隔离级别的一种实现方式。