# MVCC (继续...)

![left](./student-guide/diagram/MVCC02_aa_001_20220511.png)
-------------------------------------------------------------
那么,MVCC 机制的是如何运作的呢？我们从 TSO 为 120 的时候（ start_st = 120 ）,启动一个查询,查询 key = 1,key = 2, key = 4 的值开始,

首先,我们会有 2 个指针从头扫描 Write CF 和 Lock CF,在 Write CF 中,我们扫描到 KEY = 1_110（用户 key = 1,提交的 TSO 为 110）,在 Lock CF 中我们也定位到 KEY = 1,这个锁显然是没有提交的事务的,我们忽略。由于 Write CF 中记录的是已经提交的值,而且是按照时间由近到远,所以 Write CF 中的,KEY = 1_110 就是小于 TSO 为 120 的最近一次提交,这样我们按照 Write CF 中的 KEY = 1_110, VALUE = 100,在 DEFAULT CF 中找到了 KEY = 1_100,VALUE = Jack 这个值。