mysql事物隔离级别笔记


隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read)
未提交读(Read uncommitted) yes yes yes
已提交读(Read committed) no yes yes
可重复读(Repeatable read) no no yes
可串行化(Serializable ) no no no
  • 未提交读(Read uncommitted):能读取到别的事务未提交的数据
  • 已提交读(Read committed):只能读取到别的事务已经提交的数据
  • 可重复读(Repeatable):在读取数据后直接加锁,其他事务无法修改和删除这些数据,但是防不住insert的新数据
  • 可串行化(Serializable):读取用读取锁,写入用写入锁,这两个锁互斥,这样能保证数据绝对安全,但是性能低下
  • 脏读(Dirty Read):可以读取到未提交的数据
  • **不可重复读(NonRepeatable Read)**:在读取完数据后数据又修改并commit了,导致第二次读取的数据与第一次数据不一致(重点在修改数据)
  • 幻读(Phantom Read):两次读取期间有新数据加入或者旧数据删除,导致不一致(重点在增删数据)

文章作者: SekiBetu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SekiBetu !
评论
  目录