mysql的大多数事务型存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,他们一般都同时实现了多版本并发控制(MVCC).不仅是MySQL,包括Oracle,PostgreSQL等其他数据库系统也实现了MVCC,但各自的实现机制不一样,因为MVCC没有一个统一的实现标准。 可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。 MVCC的实现,是通过保护数据在某个时间点的快照实现的。