共享锁与排它锁
发布日期:2021-06-24 18:06:43 浏览次数:4 分类:技术文章

本文共 486 字,大约阅读时间需要 1 分钟。

转自:http://sundensky.blog.163.com/blog/static/7728873420101017224968/

 

共享锁【S锁】

又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

排他锁【X锁】

又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁与排它锁区别

1.共享锁只用于表级,排他锁用于行级。 

2.加了共享锁的对象,可以继续加共享锁,不能再加排他锁。加了排他锁后,不能再加任何锁。 
3.比如一个DML操作,就要对受影响的行加排他锁,这样就不允许再加别的锁,也就是说别的会话不能修改这些行。同时为了避免在做这个DML操作的时候,有别的会话执行DDL,修改表的定义,所以要在表上加共享锁,这样就阻止了DDL的操作。 
4.当执行DDL操作时,就需要在全表上加排他锁

转载地址:https://blog.csdn.net/weixin_34248258/article/details/85660037 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【FAQ】SpingMVC实现集合參数(Could not instantiate bean class [java.util.List])
下一篇:JQuery UI中的Tabs与base元素摩擦的BUG

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月06日 04时50分20秒