DB Lock여러 사용자가 재고 1개인 상품을 동시에 구매하려고 하면, 재고를 확인하고 차감하는 사이에 서로의 작업이 겹칠 수 있습니다. 이러한 상황을 Race Condition 이 발생했다 라고 합니다. Lock은 이런 상황에서 데이터가 틀어지지 않도록 접근 순서를 지키게 하는 장치입니다.이 글은 MySQL 8.0 InnoDB, 격리 수준은 기본값인 REPEATABLE READ를 전제로 합니다. 격리 수준이 READ COMMITTED이면 뒤에서 설명할 Gap Lock의 동작이 달라지므로, 재현이 되지 않는다면 먼저 격리 수준을 확인하는 것을 추천드립니다.-- 격리수준을 확인할수 있는 명령어SELECT @@transaction_isolation; Shared Lock (S Lock)Shared Lock은..