我使用JMeter测试我的程序,不知何故总响应数停止增加,然后我发现在MySQL中有一个死锁。我不明白下面的log是什么意思。似乎transaction(2)拥有一个S锁,并试图拥有同一个表的X锁。这会导致死锁吗?如果是这样,为什么会发生这种情况?-*** (1) TRANSACTION:mysqltables in use 2, locked 2
LOCK WAIT
我的数据库是mysql5.7,innodb,已提交隔离级别。我害怕死锁,所以我保持mysql sql语句简单,只有:
insert into ... where ...insert into ... where ... on duplicate key update我有64个或更多mysql连接,我将mysql操作分开,以确保每个连接操作不同的行。对于autocommit=1配置,会发生死锁吗?如果死锁概率不是零,那么进入死锁的场景是
我们尝试使用SELECT ...对于更新和选择...LOCK IN SHARE模式,但是我们得到了死锁,这对数据库服务器来说是繁重的操作。对于测试,我们打开了两个终端,并一步一步地做了:mysql> start transaction;
mysql> SELECT SUBSCRIPTION_ID FROM TEST_SUBSCRIBERSWHERE s.SERVICE_ID="web-sub-1" AND s.MSISDN="000000002"