(三)MySQL InnoDB非锁定一致性读与锁定读

本文详细介绍了MySQL InnoDB中非锁定一致性读和锁定读的概念与区别。在REPEATABLE READ隔离级别下,一致性读会在事务内读取同一快照,而在READ COMMITTED级别下每次读取都有新快照。非锁定一致性读利用MVCC实现,不适用于某些DDL语句。锁定读分为SELECT...FOR UPDATE和SELECT...LOCK IN SHARE MODE,分别加X锁和S锁,用于避免并发问题。锁定读在确保引用完整性和防止死锁场景中尤为关键。
摘要由CSDN通过智能技术生成

MySQL InnoDB非锁定一致性读与锁定读

(一)MySQL InnoDB事务模型

(二)MySQL InnoDB锁模型

(三)MySQL InnoDB非锁定一致性读与锁定读

(四)MySQL InnoDB锁类型及幻象读问题

(五)MySQL InnoDB中各类语句加锁方式

(六)事务的提交与回滚极死锁检测、处理和预防

非锁定一致性读

一致性读,意味着InnoDB使用“多本版”向查询提供数据库在某个时间点的快照,这样一来,查询能够看到该时间点之前事务提交的更新而不能看到之后事务提交或未提交的更新。但也存在例外情况。(稍后会做详细介绍)

所谓一致性读,更具体的说,在REPEATABLE READ事务隔离级别下,同一事务内的一致性读均会读取到该事务中第一个读创建的快照,其他事务在之后提交或未提交的更新对当前事务的读均不可见,除非提交了该事务并开启新事务发起新查询。而在READ COMMIT隔离级别下,事务内的每个一致性读均会设置和读取自己新鲜的快照。其他事务在之后提交的更新对当前事务的读可见,未提交的更新对当前事务不可见。具体内容在介绍InnoDB四种隔离界别的时候已经做了相信介绍,具体可参考REPEATABLE READREAD COMMIT节的内容。

一致性读是InnoDB引擎处理

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值