MySQL 两个死锁样例

【引子】

  从事MySQL-DBA这一样也有些年头了,想对新人说,在分析死锁问题时应该还要考虑到有一个叫请求队列的“概念”。之所以

  在这里提这个不是因为新手不知道,而是有时候会自然而然的想不到。

  不信的话,我下面要说的这个例子每个dba都知道要排队

  session A

creat table t(x int primary key);
insert into t(x) values(1);

start transaction;
update t set x=2 where x=1; 

  session B

update t set x=3 where x=1;

  由于session A持有着x=1那一行的“X”锁,所以当session B要去更新x=1这一行时它就只能是等待了,此时如果有session C它也要去更新

  x=1的行,那么session C的获取锁的请求就要排在session B的后面。

未完 ... ...

----

猜你喜欢

转载自www.cnblogs.com/JiangLe/p/9245483.html
今日推荐