,而試圖以合理的限制進行一些一堆刪除我已經得到了一個錯誤:「鎖等待超時超標」而不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'在我的表上顯示非零數量的鎖。 –