首页/数据/数据库速查/INNODB_TRX 长事务观测
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条
性能与调优57 条
Redis 命令96 条Redis 运维与场景124 条

INNODB_TRX 长事务观测

INNODB_TRX 列出活跃事务:起始时间、状态、行数、等待情况;trx_started 最早的那个通常就是锁事故源头。

数据库速查数据更新于 2026-10-12

找最老事务

找最老事务
SELECT trx_id, trx_state, trx_started,
       TIMESTAMPDIFF(SECOND, trx_started, NOW()) AS age_s,
       trx_rows_modified, trx_mysql_thread_id, trx_query
FROM information_schema.INNODB_TRX
ORDER BY trx_started LIMIT 10;
trx_stateRUNNING / LOCK WAIT / ROLLING BACK
age长事务判定:超过业务阈(如 60s)告警
rows_modified已改行数——评估回滚代价
监控系统按 age 阈值告警「长事务」,比事故后排查提前一步。

易错点

  • 只看语句不看起始时间:它可能是几分钟前的老事务在等锁
  • 把长事务当纯性能问题:它同时拖慢 purge、挡 DDL、放大锁范围

数据来源与参考

  • MySQL 8.0 Reference Manual: INFORMATION_SCHEMA INNODB_TRX

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌