数据库封锁协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jAVA_JLSONG/article/details/76781747

1.排它锁(简记X锁),又称写锁
若事物T对数据对象A 加上X锁,则只允许T读取和修改A,其他任何事物再不能对A加任何类型的锁,直到T释放A上的锁
2共享锁(简记S锁),又称读锁
若事物T对数据对象A加上S锁。则其他事物只能对A 加S锁,不能再加X锁,直到T释放A上的S锁

常用的封锁协议:
1一级封锁协议:事物T在修改数据R之前必须先对其加X锁,直到事物结束才释放锁
一级封锁协议可防止丢失修改
在1级封锁协议中,如果是读数据,是不需要加锁的,所以他不能保证可重复度和不读脏数据
2,2级封锁协议:1级封锁协议+事物T在读取数据R之前必须先加S锁,读完后释放
2级封锁协议可防止丢失修改和读脏数据
在2级封锁协议中,由于读完数据后即可释放S锁,所以不能保证可重复读

3,3级封锁协议:1级封锁协议+事物T在读取事物R之前必须先对其加S锁,知道事物结束才释放
可防止丢失修改,读脏数据和不可重复度

猜你喜欢

转载自blog.csdn.net/jAVA_JLSONG/article/details/76781747