湘潭企业网站建设 磐石网络,门户网站 建设 北京 航天,网站建设的战略作用,wordpress评论微信通知一级封锁协议
一级封锁协议是指#xff0c;事务T在修改数据R之前必须先对其加X锁#xff0c;直到事务结束才释放。事务结束包括正常结束#xff08;COMMIT#xff09;和非正常结束#xff08;ROLLBACK).一级封锁协议可防止丢失修改#xff0c;并保证事务T是可恢复的。在…一级封锁协议
一级封锁协议是指事务T在修改数据R之前必须先对其加X锁直到事务结束才释放。事务结束包括正常结束COMMIT和非正常结束ROLLBACK).一级封锁协议可防止丢失修改并保证事务T是可恢复的。在一级封锁协议中如果仅仅是读数据而不对其进行修改是不需要加锁的所以它不能保证可重复读和不读“脏”数据。 丢失修改不加锁修改之后被其它事务修改了 写加X锁-修改数据R-成功或失败-释放X锁 读不加锁导致读到别的事务未提交数据且多次读结果不一致 二级封锁协议
二级封锁协议是指,在一级封锁协议基础上增加事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级封锁协议除防止了丢失修改还可进一步防止读“脏”数据。在二级封锁协议中由于读完数据后即可释放S锁所以它不能保证可重复读。 写同一级封锁协议 读加S锁-读数据R-读完释放S锁不会读到别的事务未提交的数据但多次读会结果还是会不一致 注在数据R加了X锁之后不能再加其它锁其它事务的X锁和S锁在数据R加了S锁之后其它锁还能加S锁但不能加X锁 三级封锁协议
三级封锁协议是指,在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁直到事务结束才释放。三级封锁协议除了防止丢失修改和读“脏”数据外还进一步防止了不可重复读。 写同一级封锁协议 读加S锁-读数据R-再读数据R-事务完成-释放S锁多次读结果一致 四、不同级别的封锁协议和一致性保证 内容补充
X锁排他锁、写锁
S锁共享锁、读锁