问题
单项选择题
设有两个事务T1、T2有如下调度,产生的不一致性是()
步骤 T1 T2
1 读A=100
2 读A=100
3. A=A+10写回
4. A=A-10
A.丢失修改
B.不可重复读
C.读脏数据
D.幻影读
答案
参考答案:A
解析:
本题考查对事务并发调度的掌握。事务并发执行时,若不加以控制,会相互干扰造成结果的不一致。题目中两个事务同时对数据A进行操作,T1将对数据A的修改结果写入数据库后,T2再将自己的修改结果写入,T1对A的修改会丢失,相当于T1就没能执行。此类错误称为丢失修改。不可重复读是指同一事务两次读取同一数据项而读取的结果不一样,因为两次读之间该数据被其他事务修改了。读脏数据是指事务读取到了未提交的数据,而该数据稍后又因为事务回滚而无效。幻影读是指同一事务两次读取满足相同条件的记录(WHERE子句的条件未变),读到的记录不一样,原因在于两次读取中间涉及WHERE条件的属性值被其他事务修改或其他事务插入/删除了满足WHERE条件的记录。