从 MySQL 8.0 开始,performance_schema.data_locks显示 InnoDB 数据锁
Information Schema 表INNODB_LOCKS和INNODB_LOCK_WAITS从 MySQL 5.7 开始弃用
Data_Locks
我们介绍一下data_locks的字段
CREATE TABLE `data_locks` (
`ENGINE` varchar(32) NOT NULL,
`ENGINE_LOCK_ID` varchar(128) NOT NULL,
`ENGINE_TRANSACTION_ID` bigint unsigned DEFAULT NULL,
`THREAD_ID` bigint unsigned DEFAULT NULL,
`EVENT_ID` bigint unsigned DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(64) DEFAULT NULL,
`PARTITION_NAME` varchar(64) DEFAULT NULL,
`SUBPARTITION_NAME` varchar(64) DEFAULT NULL,
`INDEX_NAME` varchar(64) DEFAULT NULL,
`OBJECT_INSTANCE_BEGIN` bigint unsigned NOT NULL,
`LOCK_TYPE` varchar(32) NOT NULL,
`LOCK_MODE` varchar(32) NOT NULL,
`LOCK_STATUS` varchar(32) NOT NULL,
`LOCK_DATA` varchar(8192) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
PRIMARY KEY (`ENGINE_LOCK_ID`,`ENGINE`),
KEY `ENGINE_TRANSACTION_ID` (`ENGINE_TRANSACTION_ID`,`ENGINE`),
KEY `THREAD_ID` (`THREAD_ID`,`EVENT_ID`),
KEY `OBJECT_SCHEMA` (`OBJECT_SCHEMA`,`OBJECT_NAME`,`PARTITION_NAME`,`SUBPARTITION_NAME`)
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
更多内容查看: https://dev.mysql.com/doc/refman/8.0/en/performance-schema-data-locks-table.html