session A(CN1) | session B(CN2) |
begin; | begin; |
select * from mytable; // CN1上拿1级表锁 | |
select * from mytable; // CN2上拿1级表锁 | |
truncate table mytable; // CN1上拿8级表锁 // CN2上拿8级表锁,waiting | |
truncate table mytable; // CN1上拿8级表锁,waiting |
session A(xid1) | session B(xid2) |
begin; | begin; |
update mytable set b = 1 where a = 1; // DN1上拿xid1的事务锁 | |
update mytable set b = 2 where a = 2; // DN2上拿xid2的事务锁 | |
update mytable set b = 1 where a = 2; // DN2上拿xid2的事务锁,waiting | |
update mytable set b = 2 where a = 1; // DN1上拿xid1的事务锁,waiting |
session A(xid1) | session B(xid2) |
begin; | begin; |
update mytable set b = 1 where a = 1; // DN1上拿xid1的事务锁 | |
update mytable set b = 2 where a = 2; // DN2上拿xid2的事务锁 | |
update mytable set b = 1 where a = 3; // DN2上拿xid2的事务锁,waiting | |
update mytable set b = 2 where a = 4; // DN1上拿xid1的事务锁,waiting |
session A(xid1) | session B(xid2) |
update/delete mytable set b = 1 where a = 1; // waiting | update/delete mytable set b = 2 where a = 2; // waiting |
欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |