1. 悲观锁
概念:事务中的数据为了防止出现脏读和不可重复读,把此数据行进行锁住,即为悲观锁。
2. 乐观锁
概念:不将数据行进行锁住,比如update,根据update返回结果为0或1,判断是否修改成功
3. 死锁
4. 间隙锁
间隙锁目的是为了让其他事务无法在间隙中新增数据,在RR模式的InnoDB中,间隙锁能起到两个作用:
1. 保障数据的恢复和复制
2. 防止幻读
- 防止在间隙中执行insert语句
- 防止将已有数据update到间隙中
概念:事务中的数据为了防止出现脏读和不可重复读,把此数据行进行锁住,即为悲观锁。
概念:不将数据行进行锁住,比如update,根据update返回结果为0或1,判断是否修改成功
间隙锁目的是为了让其他事务无法在间隙中新增数据,在RR模式的InnoDB中,间隙锁能起到两个作用:
1. 保障数据的恢复和复制
2. 防止幻读
相关文章: