數據庫 鎖

數據庫的鎖的機制,是爲了在多用戶環境下,保證數據庫完整性和一致性的技術。

當多個用戶併發地存取數據時,即多個事務同時存取同一數據。若對併發操作不加控制就可能會讀取和存儲不正確的數據,破壞數據庫的完整性和一致性。

當事務在對某個數據對象進行操作前,先向系統發出請求,對其加鎖。加鎖後事務就對該數據對象有了一定的控制。


分類





共享鎖

允許其他事務同時讀取其鎖定的資源,但不允許其他事務更新它。


排他鎖/獨佔鎖

其他事務既不能讀取也不能修改


更新鎖

當一個事務執行update語句時,數據庫系統會先爲事務分配一把更新鎖。

當讀取數據完畢,執行更新操作時,會把更新鎖升級爲獨佔鎖


一個資源可以同時放置更新鎖和共享鎖,但是最多放置一把更新鎖

這樣,當多個事務更新相同的數據時,只有一個事務能獲得更新鎖,然後再把更新鎖升級爲獨佔鎖,其他事務必須等到前一個事務結束後,才能獲取得更新鎖,這就避免了死鎖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章