Database/MySQL모니터링
[MySQL] 장기 실행 트랜잭션 확인 및 종료
기록하는 백앤드개발자
2024. 1. 19. 02:58
반응형
ㅁ 장기 실행 트랜잭션 확인 및 종료
HLL 증가로 인해 DB에 병목 현상이 발생하였다면, 장기 실행 트랜잭션을 확인하고 종료해야합니다.
information_schema.innodb_trx 쿼리를 통해 장기 실행 트랜잭션을 찾을 수 있습니다.
장기 실행 트랜잭션을 확인하는 방법은 SQL 클라이언트에서 다음 쿼리를 실행합니다.
SELECT
a.trx_id,
a.trx_state,
a.trx_started,
TIMESTAMPDIFF( SECOND,a.trx_started, now()) as "Seconds Transaction Has Been Open",
a.trx_rows_modified,
b.USER,
b.host,
b.db,
b.command,
b.time,
b.state
FROM
information_schema.innodb_trx a,
information_schema.processlist b
WHERE
a.trx_mysql_thread_id=b.id
AND TIMESTAMPDIFF(SECOND,a.trx_started, now()) > 10
ORDER BY trx_started
COMMIT 또는 ROLLBACK 명령을 사용하여 각 장기 실행 트랜잭션을 종료합니다.
ㅁ 함께 보면 좋은 사이트
반응형