用示例解释串行执行或事务(DBMS)
dbmsdatabasebig data analytics更新于 2026/1/13 0:22:17
事务的执行方式有三种。具体如下 −
串行执行 − 在串行执行中,第二个事务只能在第一个事务完成后才开始执行。这在单处理器系统上是可能的。
并行执行 − 在并行执行中,两个事务可以在同一时刻开始执行。为此,我们需要多个处理器。
并发执行 − 在并发执行中,第二个进程甚至可以在第一个进程完成执行之前开始执行。
我们考虑两个事务 T1 和 T2。在并发执行中,CPU 执行事务 T1 的部分指令,然后转到第二个事务并执行其指令一段时间,之后再次返回第一个事务。
此循环重复进行,直到两个事务的所有指令都执行完毕。此过程称为上下文切换。
示例
下面是串行执行的示例 −
考虑两个事务 T1 和 T2,其中 T1 从账户 A 向账户 B 转账 150 卢比,同样,T2 从账户 A 向账户 B 转账 10% 的余额。
T1 T2 Read(A) Read(A) A=A-150 temp =0.1 *A Write(A) A=A-temp Read(B) Write(A) B=B+150 Read(B) Write(B) B=B+temp Write(B)
事务 T1 和 T2 的指令执行顺序称为调度 (Schedule)。
可能的串行调度如下 −
设 A= 200,B=200

调度 S1 和 S2 使数据库保持一致状态。
一般来说,如果系统包含 n 个事务,那么我们可以生成 n! 个有效的串行调度。

