Skip to content
GwiyeomGo Tech Blog
About GwiyeomGo

mysql 정규화와 함수적 종속성

MYSQL, 20251 min read

Error 1206: The total number of locks exceeds the lock table size

배경

로깅은 펍섭 구조를 사용해서 빠르게 다량의 로그 메시지를 DB에 넣고있다!! 데이터베이스에 로그 데이터를 반복적으로 삽입하는 작업이 이루어지고 있다 로그 기록을 삽입하면서 트랜잭션이 처리하는 데이터가 많아지고 그로 인해 락을 걸어야 하는 테이블의 개수와 레코드 수가 급증했습니다 MySQL은 동시에 처리할 수 있는 락의 수에 제한이 있는데 이 제한을 초과하면 1206 에러가 발생

원인

  1. Lock Table Size 초과
  2. 트랜잭션 내의 INSERT 반복

해결?

당장은 데이터베이스를 새로 추가하여 운영되고 있는 db를 차지하지 않도록 하기로 했고 (운영 DB의 부하를 분산) 이후에는 로깅 내용을 일단 파일,큐 등에 저장 후 일정 주기로 배치 하거나 다른 방법을 찾아서 로깅 방식을 변경해야 할 것 같다

© 2025 by GwiyeomGo Tech Blog. All rights reserved.