MySql事务锁

1. 悲观锁

      概念:事务中的数据为了防止出现脏读和不可重复读,把此数据行进行锁住,即为悲观锁。

2. 乐观锁

      概念:不将数据行进行锁住,比如update,根据update返回结果为0或1,判断是否修改成功

3. 死锁

MySql事务锁

4. 间隙锁

间隙锁目的是为了让其他事务无法在间隙中新增数据,在RR模式的InnoDB中,间隙锁能起到两个作用:

1. 保障数据的恢复和复制

2. 防止幻读

  • 防止在间隙中执行insert语句
  • 防止将已有数据update到间隙中