时间:2024-07-07 02:01:24
幻读和不可重复读区别
幻读和不可重复读的区别主要体现在读取数据的变化上:
1. 不可重复读:在同样的条件下,读取过的数据,当再次读取时值发生了变化。例如,在事务1中,A读取了自己的工资为1000,但此时事务1的操作还未完成,后面还有1次相同的读取操作。在事务2中,财务人员修改了A的工资为2000,并提交了事务。在事务1中,A再次读取自己的工资时,工资变为了2000,这就导致了不可重复读。
2. 幻读:在同样的条件下,第一次和第二次读出来的记录数不一样。例如,目前工资为1000的员工有5人。事务1读取所有工资为1000的员工,共读取10条记录。这时另一个事务向employee表插入了1条员工记录,工资也为1000。事务1再次读取所有工资为1000的员工,共读取到了6条记录,这就产生了幻读。