TIL

MySql(InnoDB) Lock

Shared and Exclusive Locks

만약 트랜잭션 t1이 row r1에 shared lock을 걸었다면

만약 t1이 r1에 x lock을 걸었다면 t2는 어떤 lock도 걸지 못한다. t1이 lock을 해제할 때까지 기다릴 수 밖에 없다.

Intention Locks

다음은 서로 다른 lock들이 서로 충돌하는지 호환 가능한지 요약한 표이다.

  X IX S IS
X Conflict Conflict Conflict Conflict
IX Conflict Compatible Conflict Compatible
S Conflict Conflict Compatible Compatible
IS Conflict Compatible Compatible Compatible

Gap Locks

Next-key Locks

Insert Intention Locks


https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html

https://velog.io/@soyeon207/DB-Lock-총정리-1-InnoDB-의-Lock

https://www.youtube.com/watch?v=onBpJRDSZGA&t=723s