事务的串行执行被定义为调度。它由许多事务组成,每个事务包含许多指令。
时间表类型 –
- 串行调度
- 非系列时间表
计划数量的计算:
考虑有 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!)
例子 –
假设有 3 个事务,分别有 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