# Mvcc (Continue...)


![left](./student-guide/diagram/03-MVCC-03-01.png)
------------------------------------------------------------
So how does the MVCC mechanism work? When the STO is 120 (start_st = 120), we start a query to query the values of key = 1, key = 2, and key = 4.

First, we will have 2 pointers to scan Write CF and Lock CF from the beginning. In Write CF, we scan KEY = 1_110 (user key = 1, submitted STO is 110), and in Lock CF we also locate KEY = 1, this lock is obviously an uncommitted transaction Yes, we ignore it. Since the Write CF records the value that has been submitted, and it is from near to far in time, KEY = 1_110 in Write CF is the most recent commit with an STO of less than 120, so we follow KEY = 1_110, VALUE = 100 in Write CF. The DEFAULT CF found KEY = 1_100 and VALUE = Jack.