事务的串行执行被定义为Schedule。它由许多事务组成,每个事务都包含许多指令。
时间表类型–
- 连续时间表
- 非串行时间表
附表数目的计算:
假设有N个事务t1,t2,t3,…,tN,分别有k1,k2,k3,….,kN个操作。
- 时间表总数–
(N1 + N2 + N3 + ..... + Nn)! / (N1! * N2! * N3! * ... * Nn!)
- 序列表的数量–
It is all possible permutations of n transactions = N!
- 非序列表的数量–
总时间表=序列时间表+非序列时间表
非串行日程表的数量=日程表的总数–串行日程表的数量((N1 + N2 + N3 + ..... + Nn)! / (N1! * N2! * N3! * ... * Nn!)) - (N!)
例子 –
考虑到三个事务分别具有1、2和3个操作。
我们必须找到–
- 可能的时间表总数。
- 可能有连续计划和非连续计划的总数。
解决方案 –
时间表总数,
= (1 + 2 + 3)! / (1! + 2! + 3!) = 6! / 9 = 120
Number of Serial Schedules,
= 3! = 6
Number of Non-Serial Schedules,
= Total Number of Schedules - Number of Serial Schedules
= 120 - 6
= 114