MySQL 事务的隔离级别的实现

多版本并发控制-MVCC

多版本并发控制(Multi-Version Concurrency Control, MVCC)以乐观锁为理论基础,和基于锁的并发控制最大的区别和优点是:读不加锁,读写不冲突

事务版本号

每次事务开启前都会从数据库获得一个自增长的事务 id,可以从事务 id 判断事务的执行先后顺序。

阅读更多

MySQL 锁

数据库锁的分类

按照锁的粒度划分:

  • 表级锁
  • 行级锁
  • 页级锁

按照锁的级别划分:

  • 共享锁
  • 排它锁

按照使用方式划分:

  • 乐观锁
  • 悲观锁

行级锁、表级锁、页级锁

1. 行级锁

行级锁是 MySQL 中锁定粒度最细的一种锁,表示只针对当前行进行加锁。行级锁分为共享锁和排他锁。

阅读更多