鎖隔離級別實現原理

2021-08-14 18:14:59 字數 305 閱讀 6763

1)讀未提交,事務在讀資料時並不加鎖,事務在寫資料時加行級共享鎖。

2)讀已提交,事務對當前被讀取的資料加行級共享鎖(當讀到時才加鎖),一旦讀完,立即釋放該行級共享鎖;事務在更新某資料的瞬間,必須先加行級排他鎖,直到事務結束才釋放。

3)可重複讀,事務在讀取某資料瞬間(開始讀取的瞬間),必須先對其加行級共享鎖,直到事務結束才釋放;事務在更新某資料瞬間(發生更新的瞬間),必須先對其加行級排他鎖,直到事務結束才釋放。

4)序列化,事務在讀取資料時,必須先對其加表級共享鎖,直到事務結束才釋放;事務在更新資料時,必須先對其加表級排他鎖,直到事務結束才釋放。

隔離級別的實現原理

排他鎖 exclusive lock 簡稱x鎖。若事務t對資料物件a加上x鎖,則只允許t讀取和修改a,其他任何事務都不能再對a加任何型別的鎖,直到t釋放a上的鎖。這就保證了其他事務在t釋放a上的鎖之前不能再讀取和修改a。規則1 寫乙個資料之前加x鎖,事務提交之後釋放該x鎖。共享鎖 share loc...

隔離級別的實現原理

排他鎖 exclusive lock 簡稱x鎖。若事務t對資料物件a加上x鎖,則只允許t讀取和修改a,其他任何事務都不能再對a加任何型別的鎖,直到t釋放a上的鎖。這就保證了其他事務在t釋放a上的鎖之前不能再讀取和修改a。規則1 寫乙個資料之前加x鎖,事務提交之後釋放該x鎖。共享鎖 share loc...

事務隔離級別 鎖的實現

髒讀 事務寫加行級排它鎖 不可重複讀 事務讀時加行級共享鎖直到事務結束,或使用mvcc 幻讀 事務讀加表級共享鎖,事務讀加表級排它鎖,或使用間隙鎖 當然解決隔離級別高的解決辦法也可以解決隔離級別低的問題 mvcc 併發版本控制,通過新增版本號 系統版本號 遞增。事務版本號 為加事務時的版本號 來解決...