Werkt voor MySql-versie <5.7.3
SHOW ENGINE INNODB STATUS \G
Zoek de sectie -
TRANSACTIONS
We kunnen INFORMATION_SCHEMA . gebruiken Tabellen.
Nuttige zoekopdrachten
Om te controleren op alle sloten waar transacties op wachten:
USE INFORMATION_SCHEMA;
SELECT * FROM INNODB_LOCK_WAITS;
Een lijst met blokkerende transacties:
SELECT *
FROM INNODB_LOCKS
WHERE LOCK_TRX_ID IN (SELECT BLOCKING_TRX_ID FROM INNODB_LOCK_WAITS);
OF
SELECT INNODB_LOCKS.*
FROM INNODB_LOCKS
JOIN INNODB_LOCK_WAITS
ON (INNODB_LOCKS.LOCK_TRX_ID = INNODB_LOCK_WAITS.BLOCKING_TRX_ID);
Een lijst met sloten op een bepaalde tafel:
SELECT * FROM INNODB_LOCKS
WHERE LOCK_TABLE = db_name.table_name;
Een lijst met transacties die wachten op vergrendelingen:
SELECT TRX_ID, TRX_REQUESTED_LOCK_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY
FROM INNODB_TRX
WHERE TRX_STATE = 'LOCK WAIT';
Referentie - MySQL-probleemoplossing:wat te doen als query's niet werken , Hoofdstuk 6 - Pagina 96.