1.读未提交事务级别
这个时候不同事务,读取的是最新的版本号的数据
事务提交或者未提交 都会跑到版本号的前面
2.读已提交事务级别
事务100 读取的时候会生成一个readview 类似一个列表
【】里记录的是活跃事务,逻辑是这样的,事务100判断自己是否在这个列表里,如果不在,则遍历版本链,判断每个事务号的版本是否在活跃列表里,如果在则跳到下一个,如果不在则读取。
3.读可重复事务级别
事务100读取一个数据后,会生成一个readview 列表。
第二次读取的时候 ,列表会判断是否新增事务号【不管是否是未提交或者已提交】,如果新增事务就加入列表,形成一个新的列表
然后会判断自己是否在这个活跃列表里,如果在则读取自己的版本号的数据,如果不在就遍历版本链,判断每个事务号的版本是否
在新生成的readview列表里,如果在则跳到下一个,如果不在则读取。
本文深入解析了三种不同的事务隔离级别:读未提交、读已提交和读可重复,阐述了每种级别下事务如何处理数据读取,以及生成readview列表的逻辑,帮助读者理解数据库事务的一致性和并发控制。
2204

被折叠的 条评论
为什么被折叠?



