mvcc的概念
mvcc 的实现依赖于:
- 隐藏字段 行格式(row_id,trx_id,roll_ponter)
- Undolog
- Read view
innodb 存储引擎的表来说,聚集索引记录中都包含两个必要的隐藏字段,row_id(如果没有聚集索引,才会创建的)
MVCC只能在 Read commited 和repeatable read 两个隔离级别下才能工作。
快照读和当前读
快照读
当前读
ReadView
read view 规则
**获取 ReadVIew **
read committed 读已经提交 隔离级别 (只解决 脏读,没有解决 不可重复读,所以 每个select ,都要获取一次read view)
一个事务中 每一次select 查询 都会重新获取 一次 read view
repeatable read 可重复读,