最好理解的图
脏读(Dirty read)
脏读发生在 一个事务读取了被另一个事务改写但尚未提交的数据时。
如果这些改变在稍后被回滚了,那么第一个事务读取的数据就会是无效的。
不可重复读(Nonrepeatable read)
不可重复读发生在一个事务执行相同的查询两次或两次以上,但每次查询结果都不相同时。这通常是由于另一个并发事务在两次查询之间更新了数据。
不可重复读 重点在 修改
幻读(Phantom reads)
幻读和不可重复读相似。
当一个事务(T1)读取几行记录后,另一个并发事务(T2)插入了一些记录时,幻读就发生了。在后来的查询中,第一个事务(T1)就会发现一些原来没有的额外记录。
幻读 重点在 新增 或 删除
原文出处:脏读、不可重复读、幻读-马育民老师