的INNODB_TRX
表提供了关于当前在内部执行的每个事务的信息InnoDB
,包括事务是否在等待锁、事务启动的时间以及事务正在执行的SQL语句(如果有的话)。
有关使用信息,请参见第14.16.2.1节“使用InnoDB事务和锁定信息”.
的INNODB_TRX
表有这些列:
TRX_ID
一个唯一的交易ID号,在内部
InnoDB
.这些id不会为只读和非锁定的事务创建。有关详细信息,请参见第8.5.3节“优化InnoDB只读事务”.TRX_WEIGHT
事务的权重,反映(但不一定是准确的计数)被事务更改的行数和被事务锁定的行数。要解决僵局,
InnoDB
选择权重最小的事务作为”受害者”回滚。更改了非事务性表的事务被认为比其他事务重,不管更改和锁定的行数是多少。TRX_STATE
事务执行状态。允许的值
运行
,锁等待
,回滚
,提交
.TRX_STARTED
事务开始时间。
TRX_REQUESTED_LOCK_ID
事务当前正在等待的锁的ID,如果
TRX_STATE
是锁等待
;否则零
.要获取有关锁的详细信息,请将此列与LOCK_ID
列的INNODB_LOCKS
表格TRX_WAIT_STARTED
事务开始等待锁的时间,如果
TRX_STATE
是锁等待
;否则零
.TRX_MYSQL_THREAD_ID
MySQL线程ID。要获取关于线程的详细信息,请将此列与
ID
列的INFORMATION_SCHEMA
PROCESSLIST
表,但看到第14.16.2.3节“InnoDB事务和锁定信息的持久性和一致性”.TRX_QUERY
事务正在执行的SQL语句。
TRX_OPERATION_STATE
事务的当前操作(如果有的话);否则
零
.TRX_TABLES_IN_USE
的数量
InnoDB
在处理此事务的当前SQL语句时使用的表。TRX_TABLES_LOCKED
的数量
InnoDB
当前SQL语句在其上有行锁的表。(因为这些是行锁,而不是表锁,所以表通常仍然可以被多个事务读写,尽管有些行被锁定了。)TRX_LOCK_STRUCTS
事务保留的锁的数量。
TRX_LOCK_MEMORY_BYTES
此事务的锁结构在内存中占用的总大小。
TRX_ROWS_LOCKED
此事务锁定的大约行数。该值可能包括物理上存在但对事务不可见的删除标记行。
TRX_ROWS_MODIFIED
此事务中修改和插入的行数。
TRX_CONCURRENCY_TICKETS
控件指定的当前事务在被换出之前可以做多少工作的值
innodb_concurrency_tickets
系统变量。TRX_ISOLATION_LEVEL
当前事务的隔离级别。
TRX_UNIQUE_CHECKS
是否为当前事务打开或关闭惟一检查。例如,它们可能在批量数据加载期间被关闭。
TRX_FOREIGN_KEY_CHECKS
是否为当前事务打开或关闭外键检查。例如,它们可能在批量数据加载期间被关闭。
TRX_LAST_FOREIGN_KEY_ERROR
最后一个外键错误的详细错误消息(如果有的话);否则
零
.TRX_ADAPTIVE_HASH_LATCHED
自适应哈希索引是否被当前事务锁定。当自适应哈希索引搜索系统被分区时,单个事务不会锁定整个自适应哈希索引。自适应哈希索引分区由
innodb_adaptive_hash_index_parts
,默认设置为8。TRX_ADAPTIVE_HASH_TIMEOUT
是立即为自适应哈希索引放弃搜索锁存,还是跨MySQL调用保留它。当没有自适应哈希索引争用时,这个值保持为零,语句将保留锁存,直到它们完成。在争用期间,它会倒计时到零,语句在每次行查找后立即释放锁存器。当自适应哈希索引搜索系统被分区(由
innodb_adaptive_hash_index_parts
),则该值保持为0。TRX_IS_READ_ONLY
1表示该事务为只读。
TRX_AUTOCOMMIT_NON_LOCKING
值为1表示事务是A
选择
语句,该语句不使用更新
或共享模式锁定
子句,并且正在执行自动提交
启用,以便事务只包含这一条语句。当这一列和TRX_IS_READ_ONLY
都是1,InnoDB
优化事务以减少与更改表数据的事务相关的开销。
例子
SELECT * FROM INFORMATION_SCHEMA。INNODB_TRX\G *************************** 1. row *************************** trx_id: 1510 trx_state: RUNNING trx_started: 2014-11-19 13:24:40 trx_requested_lock_id: NULL trx_wait_started: NULL trx_weight: 586739 trx_mysql_thread_id: 2 trx_query: DELETE FROM employees.salaries WHERE salary > 65000 trx_operation_state: updating or deleting trx_tables_in_use: 1 trx_tables_locked: 1 trx_lock_structs: 3003 trx_lock_memory_bytes: 450768 trx_rows_locked: 1407513 trx_rows_modified: 583736 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 10000 trx_is_read_only: 0 trx_autocommit_non_locking: 0
笔记
使用此表可以帮助诊断并发负载高时发生的性能问题。其内容更新如第14.16.2.3节“InnoDB事务和锁定信息的持久性和一致性”.
你必须有
过程
查询该表的权限。