排查
排查
-- MySQL:按开始时间找长事务
SELECT trx_id, trx_started, trx_state, trx_mysql_thread_id
FROM information_schema.INNODB_TRX
ORDER BY trx_started;
-- PostgreSQL:找空闲事务与长事务
SELECT pid, state, xact_start, now() - xact_start AS age, query
FROM pg_stat_activity
WHERE xact_start IS NOT NULL
ORDER BY xact_start;| InnoDB | 长事务阻止 purge,历史链表长度增长,回滚段膨胀 |
|---|---|
| PostgreSQL | 长事务阻止 vacuum 回收死元组,表与索引膨胀 |
| 护栏 | PG 设 idle_in_transaction_session_timeout;MySQL 监控 Sleep 连接与 INNODB_TRX |