什麼是封鎖?基本的封鎖型別有幾種?試述它們的含義

  • 作者:由 匿名使用者 發表于 動漫
  • 2022-09-06

什麼是封鎖?基本的封鎖型別有幾種?試述它們的含義靠名真tm難起 2019-02-20

封鎖是指事務T在對某個資料物件(例如表、記錄等)操作之前,先向系統發出請求,對其加鎖。加鎖後事務T就對該資料物件有了一定的控制,在事務T釋放它的鎖之前,其它的事務不能更新此資料物件。

基本型別:排它鎖(記為X鎖)、共享鎖(記為S鎖)

1、排它鎖又稱為寫鎖。若事務T 對資料物件A 加上X 鎖,則只允許T 讀取和修改A , 其它任何事務都不能再對A 加任何型別的鎖,直到T 釋放A 上的鎖。

2、共享鎖又稱為讀鎖。若事務T 對資料物件A 加上S 鎖,則其它事務只能再對A 加S 鎖,而不能加X 鎖,直到T 釋放A 上的S 鎖。

什麼是封鎖?基本的封鎖型別有幾種?試述它們的含義

擴充套件資料:

一、封鎖單元,封鎖的物件可以是邏輯單元,也可以是物理單元。

1、邏輯單元: 屬性值、屬性值集合、元組、關係、索引項、整個索引、整個資料庫等;

2、物理單元:頁(資料頁或索引頁)、塊等。

二、封鎖粒度,封鎖物件可以很大也可以很小,例如對整個資料庫加鎖、對某個屬性值加鎖。封鎖物件的大小稱為封鎖的粒度。封鎖的粒度越大,系統中能夠被封鎖的物件就越少,併發度也就越小,但系統開銷也越小;封鎖的粒度越小,併發度越高,但開銷也就越大。

三、粒度選擇,選擇封鎖粒度時必須同時考慮開銷和併發度兩個因素,進行權衡,以求得最優的效果。

參考資料來源:百度百科-封鎖

什麼是封鎖?基本的封鎖型別有幾種?試述它們的含義你的娛樂小助理 2021-07-18

封鎖是指事務T在對某個資料物件(例如表、記錄等)操作之前,先向系統發出請求,對其加鎖。

加鎖後事務T就對該資料物件有了一定的控制,在事務T釋放它的鎖之前,其它的事務不能更新此資料物件。

基本型別:排它鎖(記為X鎖)、共享鎖(記為S鎖)

1、排它鎖又稱為寫鎖。若事務T 對資料物件A 加上X 鎖,則只允許T 讀取和修改A , 其它任何事務都不能再對A 加任何型別的鎖,直到T 釋放A 上的鎖。

2、共享鎖又稱為讀鎖。若事務T 對資料物件A 加上S 鎖,則其它事務只能再對A 加S 鎖,而不能加X 鎖,直到T 釋放A 上的S 鎖。

什麼是封鎖?基本的封鎖型別有幾種?試述它們的含義

預防死鎖的方法:

(1)一次封鎖法

一次封鎖法要求每個事務必須一次將所有要使用的資料全部加鎖,否則就不能繼續執行。

一次封鎖法存在的問題:降低併發度;擴大封鎖範圍。

一次就將以後要用到的全部資料加鎖,勢必擴大了封鎖的範圍,從而降低了系統的併發度。

(2)順序封鎖法

順序封鎖法是預先對資料物件規定一個封鎖順序,所有事務都按這個順序實行封鎖。

順序封鎖法存在的問題:維護成本高。

資料庫系統中可封鎖的資料物件極其眾多,並且隨資料的插入、刪除等操作而不斷地變化,要維護這樣極多而且變化的資源的封鎖順序非常困難,成本很高。

什麼是封鎖?基本的封鎖型別有幾種?試述它們的含義B佬兮 推薦於2017-09-17

封鎖就是事務T在對某個資料物件例如表、記錄等操作之前,先向系統發出請求,對其加鎖。加鎖後事務T就對該資料物件有了一定的控制,在事務T釋放它的鎖之前,其他的事務不能更新此資料物件。

封鎖是實現併發控制的一個非常重要的技術。

基本的封鎖型別有兩種:排它鎖(Exclusive Locks,簡稱X鎖)和共享鎖(Share Locks,簡稱S鎖)。

排它鎖又稱為寫鎖。若事務T對資料物件A加上X鎖,則只允許T讀取和修改A,其他任何事務都不能再對A加任何型別的鎖,直到T釋放A上的鎖。這就保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。

共享鎖又稱為讀鎖。若事務T對資料物件A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。

Top