본문 바로가기
IT/Database

[Mysql] Lock wait timeout exceed

by 성준하이 2024. 3. 23.
반응형

동일한 쿼리에 대해서 여러번을 수행하는데 

상황에 따라 

Lock wait timeout exceed

가 발생하기도 하고 잘 수행 되기도 했다.

 

문제의 이유는 트랜잭션 수행 시간이 길어서 발생하였다.

 

일반적으로 Lock timeout이 발생하는 것은 단일 트랜잭션의 수행 시간이 오래 걸리기에 발생한다.

특히 배치성 작업은 트랜잭션 수행 시간에 특히 주의해야 하고, 만일 트랜잭션 수행 시간이 길다면 트랜잭션을 분리하는것을 권고한다.

 

해결책은 아래와 같다.

 

  • 현재 Timeout 시간 확인
    • SELECT @@innodb_lock_wait_timeout;
  • 원하는 시간으로 설정
    • SET GLOBAL innodb_lock_wait_timeout = 20;  
반응형

댓글