InnoDB

MySQL에서 Lock(락)은 여러 트랜잭션이 동일한 데이터에 접근할 때 발생할 수 있는 데이터 불일치, 데드락, 성능 저하 등의 문제를 방지하는 중요한 개념이다. 데이터베이스는 다수의 사용자가 동시에 데이터를 읽고 쓸 수 있어야 하지만, 여러 트랜잭션이 동일한 데이터를 수정하거나 삭제하려고 하면 경쟁 상태(Race Condition) 가 발생할 수 있다. 이를 방지하기 위해 Lock을 사용하여 트랜잭션이 특정 데이터에 대한 작업을 완료할 때까지 다른 트랜잭션의 접근을 제한할 수 있다. MySQL의 락은 크게 MySQL 엔진 수준의 락과 스토리지 엔진 수준의 락으로 나뉜다. 이번 글에서는 MySQL 엔진 수준의 락을 중점적으로 살펴보고, 데이터의 일관성(Consistency)과 무결성(Integrity)..