一、数据库四种隔离级别
- RU(READ-UNCOMMITTED)
读取事务未提交的数据。 - RC(READ-COMMITTED)
读取到事务已提交的数据。 - RR(REPEATABLE-READ)
可重复读 - SR(SERIALIZABLE)
串行化
二、四种隔离级别与脏读、幻读、不可重复读
要想了解什么是脏读、幻读、不可重复读,可前往《看图说话:对脏读、不可重复度、幻读进行总结》。
三、MVCC
作为下边内容的基础,我们有必要先了解下什么是 MVCC。
MVCC(Multiversion Concurrency Control),即多版本并发控制。
在 MVCC 中,有两种读的概念:「快照读」和「当前读」,如下:
-
快照读
所谓 「快照读」,就是将此刻数据库的状态或者查询结果作为一个快照记录下来,像我们通常的查询(不加锁的查询)就属于快照读,例如:select *