https://blog.youkuaiyun.com/qq_41388308/article/details/88583968
readview的文章https://baijiahao.baidu.com/s?id=1629409989970483292&wfr=spider&for=pc
我对readview理解:创建readview时,会有一个列表(类似于变量)保存当前时刻mysql系统中已开启的事务id。。
1、在读已提交时,每次都读取到其他事务提交的最新数据。是在该隔离级别的事务内,每次查询都基于当前mysql所存在的事务创建一个新的readview。。。多次查询则创建多次readview,然后根据readview去查不同事务版本的记录。
2、在可重复读时,在第一次查询时基于当前mysql存在的事务创建一个readview,然后在该事务内,后面的查询都复用这个readview。不再创建。
在通过readview查询出来的数据,都会剔除掉查询结果中属于上面已开启的事务版本的数据。(至于怎么剔除?别忘了事务版本是隐藏字段,mysql内部自然可以使用它筛选)