Hoạt động cho phiên bản MySql <5.7.3
SHOW ENGINE INNODB STATUS \G
Tìm Phần -
TRANSACTIONS
Chúng tôi có thể sử dụng INFORMATION_SCHEMA Bảng.
Truy vấn hữu ích
Để kiểm tra tất cả các giao dịch khóa đang chờ:
USE INFORMATION_SCHEMA;
SELECT * FROM INNODB_LOCK_WAITS;
Danh sách các giao dịch chặn:
SELECT *
FROM INNODB_LOCKS
WHERE LOCK_TRX_ID IN (SELECT BLOCKING_TRX_ID FROM INNODB_LOCK_WAITS);
HOẶC
SELECT INNODB_LOCKS.*
FROM INNODB_LOCKS
JOIN INNODB_LOCK_WAITS
ON (INNODB_LOCKS.LOCK_TRX_ID = INNODB_LOCK_WAITS.BLOCKING_TRX_ID);
Danh sách các ổ khóa trên bảng cụ thể:
SELECT * FROM INNODB_LOCKS
WHERE LOCK_TABLE = db_name.table_name;
Danh sách các giao dịch đang chờ khóa:
SELECT TRX_ID, TRX_REQUESTED_LOCK_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY
FROM INNODB_TRX
WHERE TRX_STATE = 'LOCK WAIT';
Tham khảo - Gỡ rối MySQL:Phải làm gì khi truy vấn không hoạt động , Chương 6 - Trang 96.