您的位置:首页 > 其它

脏读,不可重复读,幻读

2018-01-02 11:43 127 查看
一、脏读

事务A在对一条记录a的字段①进行增加100的操作,在事务A处理还未提交时,事务B对这条记录进行查询,事务B查询到了记录a被事务A修改后的数据,这时候事务A回滚,事务B查询到的数据就和实际不一致,引起脏读。

引起脏读的原因:一个事务读取了另一个事务未提交的数据,而这个数据有可能回滚

二、不可重复读

事务A需要多次查询记录a,在事务A还未结束时,事务B也在访问这条记录a,在事务A的两次查询之间,事务B对记录a进行了update,那么事务A这两次查询到的结果将会不同,这就是不可重复读。

引起不可重复读的原因:一个事务范围内的两次查询之间,数据被另一事务修改。

三、幻读

事务A先查询一次表中数据,然后向这个表中插入一条数据,同时,事务B对一个表中的数据进行了修改,事务A在插入之后再次查询,事务A的两次查询的结果中,表中的原来的数据(除去新增)不同,就像产生幻觉一样,称之为幻读。

注意:幻读的重点在新增或删除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: