mysql的共享鎖

2022-06-27 12:18:11 字數 676 閱讀 8643

1.共享鎖示範:

共享鎖:s鎖,顧名思義,共享鎖就是多個事務對於同一資料可以共享一把鎖,都能訪問到資料,但是只能讀不能修改。

-- 新建乙個連線

select @@autocommit;

set @@autocommit=0; -- 設定為手動事務提交;預設為1,自動提交事務

start transaction

select * from sr_main where pk_sr_main = '1265185686872899584' lock in share mode;

commit ;-- commit,rollback釋放鎖

-- 新建第二個連線

select @@autocommit;

set @@autocommit=0;

start transaction

select * from sr_main where pk_sr_main = '1265185686872899584';

update sr_main set mhz = 'tcc' where pk_sr_main = '1265185686872899584';

commit

第乙個連線執行  commit ;-- commit,rollback釋放鎖

第二個連線的update操作才能執行,但是select操作是可以的。

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

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

Mysql共享鎖 排他鎖

我之前專程寫了mysql中myisam和innodb區別 和mysql儲存引擎 這裡主要寫一些影響鎖相關的內容 mysql 在5.5之前預設使用 myisam 儲存引擎,之後使用 innodb 檢視當前儲存引擎 show variables like storage engine myisam 運算...

MySQL中的共享鎖

mysql對外提供了一種應用層級別的共享鎖,通過這個共享鎖,資料庫之上的應用程式可以實現互斥功能。這個共享鎖通過一組mysql 內建函式實現。get lock str,timeout 這個函式的作用是獲取共享鎖,其中str是應用程式通訊雙方協商好的乙個字串,timeout是等待該鎖的超時時間。如果能...