mysql怎么保证隔离性 mysql56默认隔离级别( 四 )


总的来说判断就三个条件:
基于上述规则,很好的解决了一致性读的问题;当前线程创建完RV之后,读到的数据都是相同的;不会读到其他事务未提交和后提交的数据 。
可重复读的RV是以一个事务的开始和结束作为它的生命周期的
读提交级别是能够读到其他事务提交的数据的,那么这个时候上面的流程是不是满足不了呀?因为假设ABC都在一个RV之中,C提交了数据,但是B看不到呀,因为条件2就满足不了呀;
这个时候Mysql就把这个级别的RV做了调整,每次读取数据的时候会创建一个新的ReadView
当RV中的事务B提交了事务的时候,A每次会创建一个新的RV来查看数据版本 , 新的RV的m_ids肯定是不包含已经提交的事务B的,这个时候就能够读到事务B的数据了 。
之前一直以为可重复读没有解决幻读的问题 , 现在基于这个流程另外加上命令行调试之后发现应该是解决了的 。
因为一旦创建RV的话,当前活跃事务快照已经生成 , 这个时候如果新来的事务或者快照内的事务新增了数据也不会读到:
如有问题,欢迎留言交流 。
【mysql怎么保证隔离性 mysql56默认隔离级别】mysql怎么保证隔离性的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql56默认隔离级别、mysql怎么保证隔离性的信息别忘了在本站进行查找喔 。

推荐阅读