三类不可重复读事务1读取某一数据后:1。事务2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。2.事务2删除了其中部分记录,当事务1再次读取数据时,发现某些记录神密地消失了。3.事务2插入了一些记录,当事务1再次按相同条件读取数据时,发现多了一些记录。后两种不可重复读有时也称为幻影现象(phantomrow)
三类不可重复读 事务1读取某一数据后: 1。事务2对其做了修改,当事务1再次读 该数据时,得到与前一次不同的值。 2. 事务2删除了其中部分记录,当事务1 再次读取数据时,发现某些记录神密 地消失了。 3. 事务2插入了一些记录,当事务1再次 按相同条件读取数据时,发现多了一 些记录。 后两种不可重复读有时也称为幻影现象 (phantom row)
3.读“脏”数据事务1修改某一数据,并将其写回磁盘事务2读取同一数据后,事务1由于某种原因被撤消,这时事务1已修改过的数据恢复原值事务2读到的数据就与数据库中的数据不一致,是不正确的数据,又称为“脏”数据
3. 读“脏”数据 事务1修改某一数据,并将其写回磁盘; 事务2读取同一数据后,事务1由于某种原因被撤消,这 时事务1已修改过的数据恢复原值; 事务2读到的数据就与数据库中的数据不一致,是不正 确的数据,又称为“脏”数据
图11.1三种数据不二致性T,T2①读A=16②读A=16③A←-A-1写回A=15A←A-3A写回A=13(a)丢失修改心V
图11.1 三种数据不一致性 T1 T2 ① 读A=16 ② ③ A←A-1 写回 A=15 ④ 读A=16 A←A-3 写回A=13 (a) 丢失修改
图11.1三种数据不一致性(续)TT2①读A=50读B=100求利=1502读B=100B←B*2写回B=200③读A=50读B=200求和=250(验算不对)(b)不可重复读心V
图11.1 三种数据不一致性(续) 读B=100 B←B*2 写回B=200 ① 读A=50 读B=100 求和=150 ② ③ 读A=50 读B=200 求和=250 (验算不对) T1 T2 (b) 不可重复读
图11.1三种数据不一致性(续)T1T2①读C=100C←C*2写回C②读C=200③ROLLBACKC恢复为100公(c)读“脏”数据V
图11.1 三种数据不一致性(续) 读C=200 ① 读C=100 C←C*2 写回C ② ③ ROLLBACK C恢复为100 T1 T2 (c) 读“脏”数据