设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为O。
T1:R:=R+5
T2:R:=R*3
T3:R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为O。
T1:R:=R+5
T2:R:=R*3
T3:R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
【正确答案】:有6种可能的情况: (1)Tl-T2-T3:R=2 (2)T1-T3-T2:R=6 (3)T2-T1-T3:R=2 (4)T2-T3-T1:R=7 (5)T3T1-T2:R=21 (6)T3-T2-T1:R=11 采用封锁,可以解决并行调度的不一致问题。 为解决并发控制带来的问题,通常要采用封锁(10cking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。并发控制中,有许多概念都要掌握:封锁,X封锁,S封锁,PX协议,PxC协议,PS协议,PSC协议,活锁,死锁,可串行化调度,不可串行化调度,两段封锁协议等。
Top