관리 메뉴

피터의 개발이야기

[MySQL] 장기 실행 트랜잭션 확인 및 종료 본문

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 명령을 사용하여 각 장기 실행 트랜잭션을 종료합니다.

 

ㅁ 함께 보면 좋은 사이트

AWS Aurora 사용 설명서 - 장기 실행 트랜잭션

반응형

'Database > MySQL모니터링' 카테고리의 다른 글

[MySQL] DB 프로세스 확인 쿼리SQL  (0) 2020.11.25
Comments