April 21, 2025
1. 두 개의 기본 락: 공유락(S)과 배타락(X) InnoDB의 행 락은 두 종류에서 출발합니다. 공유락(Shared Lock, S): 읽기를 위한 락. 여러 트랜잭션이 같은 행에 동시에 S락을 쥘 수 있습니다. 단, 그 행을 바꾸려는 배타락은 막습니다. (과거 )로 명시적으로 걸 수 있습니다. 배타락(Exclusive Lock, X): 쓰기를 위한 락…
April 30, 2025
이 글은 "S락·X락·갭 락·락 승격 — InnoDB 락 노트"에 이어지는 2편입니다. 1편에서 정리한 공유락(S)·배타락(X)·락 승격 개념을 그대로 가져다 씁니다. 운영 DB 모니터링에서 데드락(deadlock) 기록을 발견했습니다. 데드락 로그가 지목한 문장은 에 행 하나를 넣는 upsert 쿼리였습니다. 단순해 보이는 INSERT 한 번이 교착에 …