事务Tl 、T2 和T3 对相同的一组数据A、B 和C 进行操作,对于如下的一个

免费题库2022-08-02  35

问题 事务Tl 、T2 和T3 对相同的一组数据A、B 和C 进行操作,对于如下的一个并发调度,其中Tl 与T2 间并发操作( ), T2 与T3 间并发操作(请作答此空)。A.正确B.不能重复读C.将丢失修改D.将读“脏”数据

选项 A.正确
B.不能重复读
C.将丢失修改
D.将读“脏”数据

答案 C

解析 本题考查事务并发执行相关知识。并发操作即多个事务同时在数据库中运行,这打破了事务的隔离性,进而会导致数据的不一致。数据不一致一般包括:丢失修改、读脏数据、不可重复读、读幻影。事务T1、T2、T3中,A、B、C为共享变量,X1、X2、X3为局部变量。对于T1、T2其执行过程为:T1读A=20、B=60、C=100,X1=A+B+C=180;然后T2读B=60、C=100,X2=C-B=40,写入B=40;接着T1读A=20、B=40、C=100,X1= A+B+C=160。因此,由于T2对B的修改,导致T1两次求A+B+C 的结果不一致,即不可重复读对于T2、T3其执行过程为:T2读B=60、C=100;T3读B=60;然后T2 求X2=C-B=40,写入B=40;接着T3求X3= B+50=40+50=90,写入B=90。此处的不一致是由于T3把T2对B的修改覆盖了,属于丢失修改。因此本题答案为C选项。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2419517.html

最新回复(0)