INNODB_TRX 详解

Posted by 道行尚浅 on January 8, 2021

系统表介绍

INNODB_TRX

列名 含义
trx_id 事务编号
trx_state 事务状态
trx_started 事务起始时间
trx_requested_lock_id 事务申请锁的ID
trx_wait_started 事务开始等待锁的时间
trx_weight 事务权重,反应修改行数与锁定行数
trx_mysql_thread_id mysql 线程编号
trx_query 事务在执行的SQL语句
trx_operation_state 操作状态
trx_tables_in_use 使用的表数量
trx_tables_locked 锁定的表数量
trx_lock_structs 当前事务持有的锁数量
trx_lock_memory_bytes 锁结构在内存占用的大小
trx_rows_locked 事务锁住的记录数
trx_rows_modified 事务更改的行数
trx_concurrency_tickets 该值代表当前事务在被清掉之前可以多少工作
trx_isolation_level 当前事务的隔离级别
trx_unique_checks 是否打开唯一性检查的标识
trx_foreign_key_checks 是否打开外键检查的标识。
trx_last_foreign_key_error 最后一次的外键错误信息
trx_adaptive_hash_latched 自适应哈希索引是否被当前事务阻塞
trx_adaptive_hash_timeout 是否为了自适应hash索引立即放弃查询锁,或者通过调用mysql函数保留它
trx_is_read_only 是否为只读事务
trx_autocommit_non_locking 会话为自动提交并且没有使用FOR UPDATE 或 LOCK IN SHARED MODE 子句为1 ,当TRX_IS_READ_ONLY 也是1 的时候,innodb 优化此会话以减少对其他修改这张表的会话带来的影响

实例


mysql> 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