如右图所示的并发调度,假设事务T1、T2执行前数据项X、Y的初值为X=100,Y

题库2022-08-02  77

问题 如右图所示的并发调度,假设事务T1、T2执行前数据项X、Y的初值为X=100,Y=200。该调度执行完成后,X、Y的值为( );此类不一致性称为(请作答此空)。A.丢失修改B.读脏数据C.不可重复读D.破坏事务原子性

选项 A.丢失修改
B.读脏数据
C.不可重复读
D.破坏事务原子性

答案 A

解析 本题考查并发调度知识。事务并发执行能够充分利用系统资源,提高系统吞吐量。并发事务的执行,可能会因为冲突而产生数据的不一致。根据调度语句计算运行结果,是理解并发事务执行过程和对不一致性认识所必须的。根据上述调度,事T1的前三句执行后,A的值70写入缓冲区中(可理解为写入了数据库中)X的数据位;随后T2的两句将X、Y的值读入变量A(=70)、B(=200)中;之后T1将B的值230写入数据库中Y的数据位;再之后T2将B的值(=270)写入数据库中Y的数据位。上述调度执行后,X=70,Y=270。多个事务并发执行,正确的必要条件是其执行结果与某一种串行执行的结果相同。上述两个事务的串行执行过程为T1执行完后执行T2或T2执行完后执行T1,即T1→T2:X=70,Y=300和T2→T1:X=70,Y=330。上述并发调度的结果与任一串行结果都不同,故并发执行产生了数据的不一致。该调度中事务T1对Y的修改被T2所覆盖,未能体现T1对Y曾进行过修改,即T1对Y的修改丢失了,故该不一致性属于丢失修改。
转载请注明原文地址:https://tihaiku.com/congyezige/2418631.html

最新回复(0)