在事務中加更新鎖後,該事務以外的加更新鎖查詢無法執行,但不影響普通查詢。
// 程序1
begin;
select * from t where id = 1 for update;
現在開啟另乙個程序
// 程序2
select * from t where id = 1 for update; // 此查詢會等待程序1提交,或程序關閉後才執行。
select * from t where id = 1; // 此查詢不會等待,直接執行。
再開啟乙個程序
// 程序3
begin;
select * from t where id = 1 for update; // 此查詢會等待程序1提交,或程序關閉後才執行。
select * from t where id = 1; // 此查詢不會等待,直接執行。
mysql批量更新update操作,導致鎖表
sql如下 update pay trans set return state 1 where order id and user id 批量執行此條sql時,導致資料表被鎖,所有交易異常。經排查where條件order id and user id 沒有加索引,導致整個表被鎖。mysql的行鎖是通...
mysql會話鎖 Mysql鎖機制 寫鎖
1 準備資料 1.1 建表 1.1.1 建立 employee表 drop table if existsemployee create table if not existsemployee idint primary keyauto increment,namevarchar 40 dept i...
mysql 查詢鎖 MySQL 鎖查詢
一 從檢視檢視 檢視程序 show processlist 檢視是否鎖表 show open tables where in use 0 1 檢視當前的事務 select from information schema.innodb trx 2 檢視當前鎖定的事務 select from infor...