深入理解单机事务之ACID中的隔离性

作者: admin 分类: 事务 发布时间: 2017-05-06 23:36

隔离性:I(Isolation)

隔离性(以性能为理由,对强一致性的破坏 sql92标准(标准不一定是对的,MVCC的出现)定义了隔离性四种)
1、序列化读写(使用排它锁,读写都排队),性能差,如下图
2、读写锁:
(1)可重复读 读读并行
(2)读已提交 读读并行 读写并行 读锁升级为写锁 (同一事务中的两个读可能会读到两个不同 的结果,一个是写之前的,一个是写之后的)
(3)读未提交(读不加锁,写加锁) 读读并行 读写并行 写读并行 (可能会读到写过程中的中间数据【即写未提交的状态】)
3、快照隔离级别(SNAPSHOT ISOLATION) MVCC(多版本并发控制)
事务单元更新前生成快照版本(回滚段,版本零),也就是保存v0版本,读的时候无需等待更新事务结束,直接读v0的数据

快照隔离级别的核心就是无锁编程、copy on write

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注