1并发控制的概念和理论 11并发控制的概念 并发执行 多处理器 CPU1 CPU2 T2 Time
• 多处理器 CPU1 CPU2 T1 T2 Time 1.1 并发控制的概念 1 并发控制的概念和理论 并发执行
1并发控制的概念和理论 11并发控制的概念 非并发执行 单处理器 T2 T1 T2 CPU Time t2 t3
• 单处理器 T1 t1 T2 t2 T1 t3 T2 t4 Time CPU 1.1 并发控制的概念 1 并发控制的概念和理论 非并发执行
1并发控制的概念和理论 11并发控制的概念 并发控制问题之一:丢失更新 时间更新事务T1数据库中X的值更新事务T2 100 FIND X FIND X X:=X-30 X.x*2 UPDATE X 70 UPDATE X 200 注:其中FND表示从数据库中读值, UPDATE表示把值写回到数据库 T1T2,结果140,T2T1,结果170, 得到结果是200,显然是不对的,T1在t丢失更新操作
t6 70 UPDATE x t2 FIND x t7 200 t5 UPDATE x t4 x:=x*2 t3 x:=x-30 t1 FIND x t0 100 时间 更新事务T1 数据库中X的值 更新事务T2 注:其中FIND表示从数据库中读值,UPDATE表示把值写回到数据库 T1T2,结果140,T2T1,结果170, 得到结果是200,显然是不对的,T1在t7丢失更新操作。 1.1 并发控制的概念 1 并发控制的概念和理论 并发控制问题之一:丢失更新
1并发控制的概念和理论 11并发控制的概念 并发控制问题之二:不一致分析 时间更新事务T1数据库中A的值更新事务T2 100 FINDX FINDX X:=X-30 UPDATE X 70 注:在时间t5事务T2仍认为x的值是100
t2 FIND x t5 70 t4 UPDATE x t3 x:=x-30 t1 FIND x t0 100 时间 更新事务T1 数据库中A的值 更新事务T2 注:在时间t5事务T2仍认为x的值是100 1.1 并发控制的概念 1 并发控制的概念和理论 并发控制问题之二:不一致分析
1并发控制的概念和理论 11并发控制的概念 并发控制问题之三:依赖于未提交更新(读脏数据) 时间更新事务T1数据库中A的值更新事务T2 100 4—乌与 FIND X 10 UPDATE X 90 FIND X ROLLBACK 100 注:事务T2依赖于事务T1的未完成更新
t6 100 t2 x:=x-10 t5 ROLLBACK t4 90 FIND x t3 UPDATE x t1 FIND x t0 100 时间 更新事务T1 数据库中A的值 更新事务T2 注: 事务T2依赖于事务T1的未完成更新 1.1 并发控制的概念 1 并发控制的概念和理论 并发控制问题之三:依赖于未提交更新(读脏数据)