赞
踩
第一种:错读(未提交读),就是读到另一个事物修改过的但没有提交的数据,没有实一致性读。
比如:现在假如有两个事物,A事物修改了data1还没提交,此时B事物来了读到了该数据,之后A提交了事务那么B读出来的数据跟数据库里边的就不一致了。
第二种:不可重复读( 读失真)就是对一个事物前后两次读,读出来的值是不相等的,因为它在这两次读的间隔被别的事物修改或者删除,并且提交了。
比如:A在读data1--假设按条件查出两条数据,读完之后进行其他操作,在其他操作中又需要读data1,而在这个过程中B事物修改或者删除了data1并且提交了,那么
A再读的时候可能读不到数据或者读到的数据有差错。
第三种:幻想读 某个事务在两次读之间,有另一事务插入新的数据,并提交,而且插入的数据满足查询的条件,导致读到的数据不一样。
比如:A在读data1--假设按条件查出两条数据,读完之后进行其他操作,在其他操作中又需要读data1,而在这个过程中B事物插入了新数据刚好也符合这个条件,那么
A再读的时候就会读出多于两条的记录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。