SERIES

MySQL 락과 데드락

2 Posts·Last updated on April 30, 2025

S락·X락·갭 락·락 승격 — InnoDB 락 정리 노트

April 21, 2025

운영 DB에서 데드락(deadlock) 로그를 읽다가, , 같은 표현이 어떤 락을 가리키는지는 알아도 어떤 문장이 왜 그 락을 잡았는지는 바로 설명하기 어려웠습니다. 그래서 데드락 추적에 앞서 락부터 정리했습니다. 이 글은 그 정리 노트입니다. InnoDB가 행을 어떻게 잠그는지 따라가며, 다음 편에서 다룰 데드락의 배경을 먼저 정리합니다. (개념 설명…


INSERT 한 문장이 일으킨 데드락 — 서브쿼리 S락과 트리거 X락의 락 순서 역전 분석

April 30, 2025

이 글은 "S락·X락·갭 락·락 승격 — InnoDB 락 노트"에 이어지는 2편입니다. 1편에서 정리한 공유락(S)·배타락(X)·락 승격 개념을 그대로 가져다 씁니다. 운영 DB 모니터링에서 데드락(deadlock) 기록을 발견했습니다. 데드락 로그가 지목한 문장은 에 행 하나를 넣는 upsert 쿼리였습니다. 단순해 보이는 INSERT 한 번이 교착에 …