脏读,不可重复读,幻读
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的两次查询的结果中,表中的原来的数据(除去新增)不同,就像产生幻觉一样,称之为幻读。
注意:幻读的重点在新增或删除
事务A在对一条记录a的字段①进行增加100的操作,在事务A处理还未提交时,事务B对这条记录进行查询,事务B查询到了记录a被事务A修改后的数据,这时候事务A回滚,事务B查询到的数据就和实际不一致,引起脏读。
引起脏读的原因:一个事务读取了另一个事务未提交的数据,而这个数据有可能回滚
二、不可重复读
事务A需要多次查询记录a,在事务A还未结束时,事务B也在访问这条记录a,在事务A的两次查询之间,事务B对记录a进行了update,那么事务A这两次查询到的结果将会不同,这就是不可重复读。
引起不可重复读的原因:一个事务范围内的两次查询之间,数据被另一事务修改。
三、幻读
事务A先查询一次表中数据,然后向这个表中插入一条数据,同时,事务B对一个表中的数据进行了修改,事务A在插入之后再次查询,事务A的两次查询的结果中,表中的原来的数据(除去新增)不同,就像产生幻觉一样,称之为幻读。
注意:幻读的重点在新增或删除
相关文章推荐
- 数据库中的-脏读,幻读,不可重复读
- 数据库的 脏读 不可重复读、幻读
- 什么是脏读、不可重复读、幻读
- 整数拆分(不可重复)
- 脏读、不可重复读、幻读
- 数据库赃读、不可重复读、幻读
- POJ 1743 Musical Theme(2.2 不可重叠最长重复子串)
- 数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)
- 脏读(dirty read)不可重复读(unrepeatable read)幻读(phantom problem)解析
- 锁的用处及脏读、不可重复读和幻觉读的概念
- [转贴]什么是脏数据,脏读,不可重复读,幻觉读
- Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)
- 脏读,不可重复读和幻读的区别
- POJ 1743 Musical Theme 后缀数组 不可重叠最长重复子串
- 脏读、不可重复读 共享锁、悲观锁 和 事务五种隔离级别
- checkbox在jquery版本1.9 以上用attr不可重复操作的问题【附解决方案】
- 数据库事务中的脏读,不可重复读与幻读及数据库的隔离级别
- 什么是脏读、幻读和不可重复读?
- Sql server脏读、更新丢失、不可重复读、幻象读问题及解决方案
- 12个字母任选5个进行排列组合,不可重复 javascript 递归实现