MySQL

    [Database] MySQL InnoDB lock

    MySQL InnoDB 엔진은 상황에 따른 여러가지 lock을 통해 동시성을 제어해준다. 트랜잭션이 획득한 lock들은 해당 트랜잭션이 commit or rollback될 때까지 유효하다. 종류 Shared lock (S) row-level lock select 위한 read lock shared lock이 걸려 있는 동안 다른 트랜잭션이 해당 row에 대해 X lock(exclusive lock) 획득 불가능 S lock 획득 가능 (읽기는 가능) select ... lock in share mode 사용 (MySQL 8.0부터는 select ... for share 사용 가능) Exclusive lock (X) row-level lock update, delete 위한 write lock exclus..