0%

隔离级别

隔离级别.png

Read Uncommitted(未提交读)

  1. 可以Read没有Commit的记录
  2. 事务中的修改,即使没有提交,对其它事务也是可见的

Read Committed(提交读)

描述

  • 不可以Read没有Commit的记录
  • 只能Read已经Commit的记录
  • 一个事务只能读取已经提交的事务所做的修改。
  • 一个事务所做的修改在提交之前对其它事务是不可见的

现象

  • 必不可能脏读(Dirty Read)
  • 可能会不可重复读(Non Repeatable Read)

Repeatable Read(可重复读)

描述

  • 保证在同一个事务中多次读取同一数据的结果是一样的

现象

  • 避免不可重复读(Non Repeatable Read)
  • 可能会幻读(Phantom Read)

Serializable(可串行化)

描述

  • 强制事务串行执行

    • 通过上锁来实现,同一时间只有一个事务在执行
  • 多个事务互不干扰

  • 不会出现并发一致性问题

现象

  • 绝对的一致性

不同隔离级别可以解决的问题.png