mysql 的共享鎖 排它鎖

2021-10-02 12:10:59 字數 480 閱讀 6180

當我們在運算元據庫時,可能由於多使用者併發導致資料不一致性。而鎖的出現就是通過禁止某些操作在一段時間之內來避免這種資料的不一致性。

又稱讀鎖(s),對某一資源加共享鎖,自身可以讀該資源,其他人也可以讀該資源(也可以再繼續加共享鎖,即 共享鎖可多個共存),但無法修改。要想修改就必須等所有共享鎖都釋放完之後。

又稱寫鎖(x),對某一資源加排他鎖,自身可以進行增刪改查,其他人無法進行任何操作。

只有共享鎖之間不互斥,其他情況均是互斥 。這裡特別需要注意互斥是指不同事務間,同一事務不存在互斥。

事務提交或回滾或執行緒結束一起釋放

排他鎖在增刪改操作中均會使用排他鎖 以及查詢語句中使用for update會使用到

共享鎖在查詢語句中使用lock in share mode 會使用到

查詢語句預設不新增任何鎖

lock in share mode適用於兩張表存在業務關係時的一致性要求,for update適用於操作同一張表時的一致性要求。

mysql的共享鎖與排它鎖

mysql鎖機制分為表級鎖和行級鎖,本文就和大家分享一下我對mysql中行級鎖中的共享鎖與排他鎖進行分享交流。共享鎖又稱為讀鎖,簡稱s鎖,顧名思義,共享鎖就是多個事務對於同一資料可以共享一把鎖,都能訪問到資料,但是只能讀不能修改。排他鎖又稱為寫鎖,簡稱x鎖,顧名思義,排他鎖就是不能與其他所並存,如乙...

讀寫鎖,共享鎖,排它鎖

共享鎖 讀鎖 共享鎖就是允許多個執行緒同時獲取乙個鎖,乙個鎖可以同時被多個執行緒擁有。若事務t對資料物件a加上共享鎖,則事務t可以讀a但不能修改a,其他事務只能再對a加共享鎖,而不能加排它鎖,直到t釋放a上的共享鎖。這保證了其他事務可以讀a,但在t釋放a上的鎖之前不能對a做任何修改。排它鎖 寫鎖 排...

共享鎖與排它鎖

根據自己理解,物件指行或者表 共享鎖 s鎖 又稱讀鎖,若事務t對資料物件a加上s鎖,則事務t可以讀a但不能修改a,其他事務只能再對a加s鎖,而不能加x鎖,直到t釋放a上的s鎖。這保證了其他事務可以讀a,但在t釋放a上的s鎖之前不能對a做任何修改。排他鎖 x鎖 又稱寫鎖。若事務t對資料物件a加上x鎖,...