什么是共享读锁和排他写锁?
①由非更新(讀?。┎僮鲃?chuàng)建的鎖。其他用戶可以并發(fā)讀取數(shù)據(jù),但任何事務(wù)都不能獲取數(shù)據(jù)上的排它鎖,直到已釋放所有共享鎖。共享鎖(S鎖)又稱為讀鎖,若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T只能讀A, 不能修改A;其他事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖。這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改。
②排他鎖(X鎖),又稱為寫鎖、獨(dú)占鎖,是一種基本的鎖類型。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A,其他任何事務(wù)都不能再對(duì)A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改A。
共享鎖與排它鎖區(qū)別:
1、共享鎖只用于表級(jí),排他鎖用于行級(jí)。
2、加了共享鎖的對(duì)象,可以繼續(xù)加共享鎖,不能再加排他鎖。加了排他鎖后,不能再加任何鎖。
3、比如一個(gè)DML操作(數(shù)據(jù)增刪改操作),就要對(duì)受影響的行加排他鎖,這樣就不允許再加別的鎖,也就是說(shuō)別的會(huì)話不能修改這些行。同時(shí)為了避免在做這個(gè)DML操作的時(shí)候,有別的會(huì)話執(zhí)行DDL (表結(jié)構(gòu)更改等操作) ,修改表的定義,所以要在表上加共享鎖,這樣就阻止了DDL操作。
4、當(dāng)執(zhí)行DDL操作時(shí),就需要在全表上加排他鎖。
總結(jié)
以上是生活随笔為你收集整理的什么是共享读锁和排他写锁?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: html打印表格每页都有的表头和打印分页
- 下一篇: 解决jsp两种提交方式乱码 的方法
