mysql中的共享鎖與排他鎖

2022-07-13 00:12:21 字數 811 閱讀 4497

行級鎖分為共享鎖和排他鎖兩種

共享鎖:又稱讀鎖,是讀取操作建立的鎖,其他使用者可以併發讀取資料,但任何事務都不能對資料進行修改(獲取資料上的排他鎖),直到已釋放所有的共享鎖。

如果事務t對資料s加上共享鎖後,則其他事務只能對a再加共享鎖,不能加排他鎖,獲准共享鎖的事務只能讀時局,不能修改資料。

用法:select...lock in share more

在查詢語句後面增加lock in share ,ore,mysql會對查詢結果中的每行都加共享鎖,當沒有其他縣城對查詢結果集中的任何一行使用排他鎖時,可以成功申請共享鎖,否則會被阻塞,其他縣城也可以讀取使用了共享鎖的表,而且這些縣城讀取時是同乙個版本的資料。

排他鎖:又稱寫鎖,如果事務t對資料a加上排他鎖後,則其他事務不能再對a加任何型別的鎖,獲准排他鎖的事務既能讀資料,又能修改資料

用法:select... for update

在查詢語句後面增加for update,mysql會對查詢結果中的每行都加排他鎖,當沒有其他縣城對查詢結果集中的任何一行使用排他鎖時,可以成功申請排他鎖,否則會被阻塞

意向鎖innodb還有兩個表鎖

1、意向共享鎖(is):表示事務準備給資料航加入共享鎖,也就是說乙個資料行加共享鎖錢必須先取得該錶的is

2、意向排他鎖(ix):表示事務準備給資料行加入排他鎖,說明事務在乙個資料航加排他鎖錢必須先取得該錶的ix

意向鎖是innodb自動加的,不需要使用者干預

共享鎖:select ... lock in share mode;

排他鎖:select ... for update;

mysql排他鎖 mysql共享鎖與排他鎖

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

MySQL 共享排他鎖 mysql 共享排他鎖

1 基礎知識 共享鎖又叫s鎖 share locks 共享鎖就是多個事務對於同一資料可以共享一把鎖,都能訪問到資料,但是只能讀不能修改。排他鎖又叫x鎖 exclusive locks,記為x鎖 排他鎖就是不能與其他鎖並存,只有等待鎖釋放完成以後其他事務才能得到鎖。下面是共享鎖與排他鎖的互斥關係 s ...

MySQL中的共享鎖與排他鎖

在mysql中的行級鎖,表級鎖,頁級鎖中介紹過,行級鎖是mysql中鎖定粒度最細的一種鎖,行級鎖能大大減少資料庫操作的衝突。行級鎖分為共享鎖和排他鎖兩種,本文將詳細介紹共享鎖及排他鎖的概念 使用方式及注意事項等。共享鎖 share lock 共享鎖又稱讀鎖,是讀取操作建立的鎖。其他使用者可以併發讀取...