MySQL संस्करण के लिए काम करता है <5.7.3
SHOW ENGINE INNODB STATUS \G
अनुभाग देखें -
TRANSACTIONS
हम INFORMATION_SCHEMA . का उपयोग कर सकते हैं टेबल्स।
उपयोगी प्रश्न
सभी ताले के बारे में जाँच करने के लिए लेन-देन की प्रतीक्षा कर रहे हैं:
USE INFORMATION_SCHEMA;
SELECT * FROM INNODB_LOCK_WAITS;
अवरुद्ध लेनदेन की सूची:
SELECT *
FROM INNODB_LOCKS
WHERE LOCK_TRX_ID IN (SELECT BLOCKING_TRX_ID FROM INNODB_LOCK_WAITS);
या
SELECT INNODB_LOCKS.*
FROM INNODB_LOCKS
JOIN INNODB_LOCK_WAITS
ON (INNODB_LOCKS.LOCK_TRX_ID = INNODB_LOCK_WAITS.BLOCKING_TRX_ID);
विशेष टेबल पर ताले की सूची:
SELECT * FROM INNODB_LOCKS
WHERE LOCK_TABLE = db_name.table_name;
लेन-देन की सूची जो ताले की प्रतीक्षा कर रही है:
SELECT TRX_ID, TRX_REQUESTED_LOCK_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY
FROM INNODB_TRX
WHERE TRX_STATE = 'LOCK WAIT';
संदर्भ - MySQL समस्या निवारण:जब प्रश्न काम न करें तो क्या करें , अध्याय 6 - पृष्ठ 96.