脏读 不可重复读 幻读

Posted 鹏鹏进阶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脏读 不可重复读 幻读相关的知识,希望对你有一定的参考价值。

脏读(Dirty Read)

    脏读意味着一个事务读取了另一个事务未提交的数据,而这个数据是有可能回滚

 

 

不可重复读(Unrepeatable Read)

 

     不可重复读意味着,在数据库访问中,一个事务范围内两个相同的查询却返回了不同数据。这是由于查询时系统中其他事务修改的提交而引起的。

    例如:事务B中对某个查询执行两次,当第一次执行完时,事务A对其数据进行了修改。事务B中再次查询时,数据发生了改变

 

幻读(phantom read)

 

幻读,是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样.

以上是关于脏读 不可重复读 幻读的主要内容,如果未能解决你的问题,请参考以下文章

MySQL理论:脏读不可重复读幻读

MySQL理论:脏读不可重复读幻读

脏读 不可重复读 幻读

脏读,不可重复读,幻读及事务隔离等级

脏读不可重复读幻读

[MySQL]对于事务并发处理带来的问题,脏读不可重复读幻读的理解与数据库事务隔离级别 - 分析脏读 & 不可重复读 & 幻读