MVCC机制深度解析-合集
1.介绍undo log日志版本链 2.介绍read view 3.版本比对规则解析 4.实例演示RR隔离级别下MVCC机制的应用原理 5.实例演示RC隔离级别下MVCC机制的应用原理 read view的生成 可重复读隔离级别:事务开启后,首次执行任何select时会生成当前事务的read-view,在事务结束前不会变化。 读已提交隔离级别:事务开启后,每次执行select时都会重新生成read-view。 版本链比对规则 事务里的每一条select都需要从对应版本链里的最新数据开始逐条跟read-view做比对,按照比对规则得到最终的快照结果。下面我们来看下版本链比对规则。 如果 row 的 trx_id 落在绿色部分( trx_id<min_id ),表示这个版本是已提交的事务生成的,这个数据是可见的; 如果 row 的 trx_id 落在灰色部分( trx_id>max_id ),表示这个版本是由将来启动的事务生成的 如果 row 的 trx_id 落在黄色部分(min_id <=trx_id<= max_id),那就包括两种情况