MySQL 两个死锁样例
Posted 蒋乐兴的技术随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的后面。
未完 ... ...
----
以上是关于MySQL 两个死锁样例的主要内容,如果未能解决你的问题,请参考以下文章