next-key lock (gap lock)完全解析.

详见答案 mysql next-key locks nextkey lock next key 间隙锁 到底是什么?_个人渣记录仅为自己搜索用的博客-CSDN博客

事务 acid 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

a : commit 等

c : redoLog undoLog

i : 锁

d : 磁盘

对事务而言, 锁的存在目的是为了事务的隔离性.

当然广义上,锁的存在还是为了控制并发. 控制并发某种意义是就是控制多个线程的隔离.

不同的角度.

一般锁: 可重复读(对快照读,一般锁 mvcc也能防止幻读)

间隙锁: 防止幻读.(对当前读,通过间隙锁实现防止幻读)

从这个根本出发. 哪些情况会导致幻读,就需要间隙锁.

普通的select 是不锁的.

只有 select for update 才锁, 或者 delete ,update里的where条件

1. 区间条件

2. 命中一行,且是非unique

3. 不命中一行,不管是不是unique .

无间隙锁:

1. 命中一行且unique

2. 读提交级别

3.

一般锁: 等价性 a 锁 b, b也锁 a

特殊锁: 间隙锁.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值