当前位置:首页 → 计算机类 → 软件水平考试 → 中级数据库系统工程师->如右图所示调度,其中事务T1、T2仅对数据项A、B进行操作,
如右图所示调度,其中事务T1、T2仅对数据项A、B进行操作,则该调度 ( ) ;假如该调度已经产生死锁,如果要从事务T1,T2中进行回滚以解除死锁,从代价最小角度考虑,应回滚事务(请作答此空)。

本题考查事务调度知识。图中调度,事务T1对B、A两个数据项加锁中间无解锁指令,满足2PL协议;事务T2对A、B两个数据项加锁中间无解锁指令,也满足2PL协议。2PL协议不能避免死锁。图中事务T1先对数据项B加了独占锁,事务T2先对数据A加了共享锁;随后事务T2申请数据项B上共享锁,只能等待事务T1释放B上独占锁;事务T1申请数据项A上独占锁,只能等待事务T2释放A上共享锁。两个事务相互等待造成死锁。死锁解除由DBMS来完成。需要在造成死锁多个事务中选择一个回滚代价最小事务进行强制回滚,并将该事务置于事务队列中稍后执行。图中事务T1对数据B已经做了修改,事务T2只是读取了数据A,相对而言,回滚事务T2代价最小。因此,本题答案为B选项。









