MySQL中InnoDB中表锁、行锁

本文深入探讨了数据库的锁机制,包括表锁、行锁以及它们的子类型——记录锁、间隙锁和临键锁。重点解析了各锁的适用场景,如表锁作用于整张表,行锁在有索引时生效,记录锁锁定单条记录,间隙锁在可重复读隔离级别下防止幻读,而临键锁结合了记录锁和间隙锁的功能,确保数据一致性。了解这些锁机制对于优化数据库性能和解决并发问题至关重要。
摘要由CSDN通过智能技术生成

目录

1  表锁

2 行锁

2.1 记录锁(Record lock)

2.2 间隙锁(Gap lock)

2.3 临键锁(next-key lock)


1  表锁

为整张表加锁。

2 行锁

有索引行锁才生效。

2.1 记录锁(Record lock)

锁住一条记录。

2.2 间隙锁(Gap lock)

仅在可重复读隔离级别下生效。

锁住范围内所有不存在的数据。(和临键锁的区别)

唯一索引如果是等值判断,不会走间隙锁,因为不是一个范围。是范围查询才会走间隙锁。

非唯一索引等值也会有间隙锁。

2.3 临键锁(next-key lock)

相当于记录锁+间隙锁。

锁住范围内存在(记录锁)和不存在的数据(间隙锁)。

相关资料:

(1条消息) 从因到果看懂事务隔离级别的实现原理_:“来都让一让”的博客-CSDN博客_事务隔离级别的实现原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值