MVCC相关面试题
1.什么是 MVCC?它解决了什么问题?
答:MVCC 是多版本并发控制机制,它通过维护数据多个版本,实现非锁定读,解决了读写互斥问题,通过保存数据的多个版本,让读操作可以在不获取锁的情况下读取数据,提高了并发性能。同时,MVCC 还能保证事务的隔离性,例如在可重复读隔离级别下,事务在整个执行过程中看到的数据是一致的。
2.InnoDB 中 MVCC 的实现原理是什么?
答:主要通过为每行数据增加隐藏列(trx_id 和 roll_pointer)和维护 undo 日志,在每个事务开始时创建 Read View。事务在读取时,根据自身快照判断数据可见性,从而实现非锁定读取。
3.什么是 Read View?它在 MVCC 中的作用是什么?
答:Read View 是事务开始时创建的一个快照,记录