所以第16步即第三次查询查询的结果为上面这条数据
截止目前已经将时序图上的所有环节都描述清楚了
接下来修改下时序图
将查询事务1去掉 换成了查询事务2 那么时序图中第14步会查询出来什么数据 select name from account where id =1
此时的readview和数据版本链是
这条数据的事务id为200
落在黄色区间 那么这条数据对应的事务id=200对于查询事务2 还未提交 所以不可见 第二条数据也是一样的
第三条数据
事务id=100是小于min_id=200的 所以落在绿色区间(已提交事务区间) 这个数据对于查询事务2是可见的 所以就会把这条数据返回
再次总结下数据版本链的比对规则
得到read-veiw的过程