多语言展示
当前在线:1661今日阅读:176今日分享:34

什么是数据库中的封锁协议?

现在有很多同学在大学学的专业都是计算机相关的,而计算机相关的专业大多数都要学习数据库系统,在这其中封锁协议是一个及其重要的考点,如何才能保证我们解决这个考点的问题呢?今天就让小编来帮助大家解决这个问题吧!
工具/原料
1

封锁协议的作用

2

封锁协议的分级

方法/步骤
1

在我们学过并发控制部分的内容后,我们得知并发会带来三个主要的问题:1.丢失修改。2.不可重复读。3.读“脏”数据。而我们的封锁协议就是为了解决以上三个问题的一类规则。

2

在讲基本的封锁协议之前,我们还要了解排他锁和共享锁的概念。为了方便记忆,小编建议大家记住前者叫做写锁,后者叫做读锁,根据名字我们就可以更容易记住前者是改写数据加X锁,后者是读数据加上S锁。

3

接下来我们开始学习一级封锁协议,它是指事务在修改数据之前必须对其加X锁,直到事务结束才释放。这种封锁协议可以防止丢失修改,并且还能保证事务时可以恢复的。

4

其次就是二级封锁协议,它是在一级封锁协议基础上增加事务,在读取数据之前必须先对其加S锁,读完之后释放S锁的一种规则。我们需要注意的是二级封锁协议不但能防止丢失修改,还可以进一步防止读“脏”数据。

5

最后是三级封锁协议。它是在一级封锁协议的基础上增加事务,在读取数据之前必须对其加S锁,直到事务结束才释放。有的小伙伴可能懵了,这不跟二级封锁协议一样吗?小编请这群小伙伴仔细看看,二级封锁协议是在读完之后才释放S锁,而三级封锁协议是在事务结束之后才释放。这两者的区别一定要注意。当然,三级封锁协议可以完美地同时解决并发控制的三个问题。

6

以上就是小编自己结合书本总结的一些自己的理解,希望能帮助到各位正在认真学习的小伙伴,最后祝大家学习愉快!

注意事项
1

原创不易,禁止转载,违者必究!

2

喜欢请点赞!

推荐信息