information_schema.innodb_trx
是 MySQL 中的一个系统表,它提供了关于当前正在进行的 InnoDB 事务的信息。这个表在 information_schema
数据库中,这个数据库包含了关于 MySQL 服务器状态、数据库元数据和其它内部信息的表和视图。
information_schema.innodb_trx
表的主要列通常包括:
trx_id
: 事务的标识符。trx_state
: 事务的状态(如 ‘RUNNING’, ‘LOCKED WAIT’, ‘ROLLING BACK’ 等)。trx_started
: 事务开始的时间。trx_mysql_thread_id
: 与事务关联的 MySQL 线程 ID。trx_tables_in_use
: 当前事务正在使用的表的数量。trx_tables_locked
: 当前事务锁定的表的数量。trx_lock_structs
: 事务使用的锁结构的数量。trx_lock_memory_bytes
: 事务使用的锁内存字节数。trx_rows_locked
: 当前事务锁定的行数(仅适用于行级锁)。trx_rows_modified
: 自事务开始以来修改的行数。trx_mysql_log_file
: 当前事务写入的日志文件的名称。trx_mysql_log_pos
: 在当前日志文件中的位置,下一个事务日志条目将被写入。- …(可能还有其他列,这取决于具体的 MySQL 版本和配置)
通过查询这个表,你可以获得关于当前正在运行的 InnoDB 事务的详细信息,这对于诊断和解决与事务相关的性能问题或锁定问题非常有用。
例如,要查看当前所有正在运行的事务,你可以执行以下查询:
SELECT * FROM information_schema.innodb_trx;