数据库作业21:第十一章: 并发控制

(1)当T1最后执行:2
T1->T2->T3:16
T1->T3->T2:8
T3->T1->T2(T2->T1->T3):4

(2)

数据库作业21:第十一章: 并发控制_第1张图片

(3)

数据库作业21:第十一章: 并发控制_第2张图片

(4)

数据库作业21:第十一章: 并发控制_第3张图片

(5)

数据库作业21:第十一章: 并发控制_第4张图片

如果调度中一对连续操作是冲突的,则意味着如果它们的执行顺序交换,则至少i改变其中一个事务的最终执行结果。
如果两个连续操作不冲突,则可以在调度中交换顺序。
一个调度S在保证冲突操作的次序不变的情况下,通过交换两个事务不冲突操作的次序得到另一个调度S’,如果S’是串行的,称调度S为冲突可串行化的调度。

本题中:r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A)
交换r1(A)和w3(B)得到:r3(B)w3(B)r1(A)r2(B)r2(A)w2(B)r1(B)w1(A)

再交换r1(A)和r2(B)r2(A)w2(B)r1(B),最终得到:r3(B)w3(B)r2(B)r2(A)w2(B)r1(B)r1(A)w1(A)
它的执行是T3->T2->T1,所以是冲突可串行调度。

(1)
数据库作业21:第十一章: 并发控制_第5张图片

(2)
解锁不及时会发生:
数据库作业21:第十一章: 并发控制_第6张图片

你可能感兴趣的:(数据库)