丢失修改问题在什么情况下不影响数据库的一致性?在什么情况下影响数据库的一致性?
看到这个问题的第一反应,影响数据库的并发一致性不是有四种吗?
丢失修改、读脏数据、不可重复读、幻影读
怎么问什么时候影响,什么时候又不影响?
我也一脸懵。
下面说说我的看法。
假设有事务 T1、T2,数据库中数据 A=100;
t1 时刻:T1 读取 A=100;
t2 时刻:T2 读取 A=100;
t3 时刻:T1修改A=A-20,写入数据库(此时,数据库中A=80);
t4 时刻:T2修改A=A-10,写入数据库(此时,数据库中A=90);
用图表示如下: