mysql share mode_mysql锁:mysql lock in share mode 和 select for update
select ... lock in share mode
select ... for update
注意點:
1.都在事務內起作用;
2.所涉及的是行鎖(即innodb引擎);
3.保證當前session事務所鎖定的行不會被其他session所修改(這里的修改指更新或者刪除);
4.select ... lock in share mode是共享鎖,語句如:select * from t where id=2 lock in share mode;
5.select ... for update是排它鎖,語句如:select * from t where id=2 for update;
6.共享鎖允許其他事務加共享鎖讀取,但是,不允許其他事務去做修改,或者加排它鎖,而需要注意的是共享鎖容易造成死鎖;
7.排它鎖更加嚴格,不允許其他事務加共享鎖(但可select讀該行)或者排它鎖,更加不允許其他事務修改加鎖的行。
使用情景:
1.select ... lock in share mode
保證所有人查到的數據是最新數據,應用的場景主從庫數據的同步;
2.select ... for update
查到的數據確保是最新數據,并且查到后的數據只允許自己來修改的時候,需要用到 for update 子句,應用的場景庫存,并發。
總結
以上是生活随笔為你收集整理的mysql share mode_mysql锁:mysql lock in share mode 和 select for update的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件名为空linux,文件系统:隐匿在L
- 下一篇: linux cmake编译源码,linu