利用*机制解决读“脏数据”-sql并发控制

时间:2021-04-25 22:08:09
【文件属性】:
文件名称:利用*机制解决读“脏数据”-sql并发控制
文件大小:771KB
文件格式:PPT
更新时间:2021-04-25 22:08:09
SQL,并发控制 利用*机制解决读“脏数据” 事务T1在读C进行修改之前先对A加X锁,修改其值之后写会磁盘 当T2再请求对C加S锁时被拒绝 T2只能等待T1释放C上的锁后T2获得对A的S锁 这时T1因为某种原因被撤销,C值恢复为100,并且释放C上的X锁 T2获得C上的S锁,读取C的值为100,这样就避免了T2读“脏”数据。 T1 T2 ① Xlock C R(C)=100 C←C*2 W(C)=200 ② Slock C 等待 ③ ROLLBACK 等待 (C恢复为100) 等待 Unlock C 等待 ④ 获得Slock C R(C)=100 Commit ⑤ Unlock C

网友评论