,而试图以合理的限制进行一些一堆删除我已经得到了一个错误:“锁等待超时超标”而不PROCESSLIST没有过程
query=(DELETE FROM `A` WHERE `id` < 123456 LIMIT 1000)
exception=(1205, 'Lock wait timeout exceeded; try restarting transaction')
而且
mysql> SHOW OPEN TABLES like 'A';
+----------+----------------------+--------+-------------+
| Database | Table | In_use | Name_locked |
+----------+----------------------+--------+-------------+
| D | A | 3 | 0 |
+----------+----------------------+--------+-------------+
1 row in set (0.22 sec)
我看到哪里可能是死锁,但show full processlist
只输出自己。在哪里挖掘?
的InnoDB中,MySQL 5.5
我假设任何其他活动会话都应该在'show full processlist'输出中。我对吗? –
SHOW PROCESSLIST显示打开的会话,并且应该有具有事务的会话,但Info字段(查询)可以为空。使用SHOW OPEN TABLES命令检查锁定表。 – Devart
,但'SHOW PROCESSLIST'中没有显示会话,并且'SHOW OPEN TABLES'在我的表上显示非零数量的锁。 –