调查表

17 Mar 2025 | 阅读 2 分钟

从一个事务到另一个事务的一系列操作被称为调度。它用于保持每个单独事务中操作的顺序。


DBMS Schedule

1. 串行调度

串行调度是一种调度,其中一个事务在开始另一个事务之前被完全执行。在串行调度中,当第一个事务完成其周期后,下一个事务才被执行。

例如: 假设有两个事务 T1 和 T2,它们包含一些操作。如果它们没有操作交错,那么有两种可能的执行结果:

  1. 执行 T1 的所有操作,然后执行 T2 的所有操作。
  2. 执行 T1 的所有操作,然后执行 T2 的所有操作。
  • 在给定的 (a) 图中,调度 A 是一个串行调度,其中 T1 在 T2 之前执行。
  • 在给定的 (b) 图中,调度 B 是一个串行调度,其中 T2 在 T1 之前执行。

2. 非串行调度

  • 如果允许操作交错,则会出现非串行调度。
  • 它包含系统可以执行事务的各个操作的多种可能顺序。
  • 在给定的 (c) 和 (d) 图中,调度 C 和调度 D 是非串行调度。它们的操作是交错的。

3. 可串行化调度

  • 调度的可串行化用于查找允许事务并发执行而不会相互干扰的非串行调度。
  • 它确定在事务的执行操作交错时哪些调度是正确的。
  • 如果一个非串行调度的结果与其事务串行执行的结果相等,那么它就是可串行化的。

DBMS Schedule

DBMS Schedule

DBMS Schedule

DBMS Schedule

此处,

调度 A 和调度 B 是串行调度。

调度 C 和调度 D 是非串行调度。