2024.08.06 Intention lock
MySQL :: MySQL 8.4 Reference Manual :: 17.7.1 InnoDB Locking
MySQL 8.4 Reference Manual / ... / The InnoDB Storage Engine / InnoDB Locking and Transaction Model / InnoDB Locking This section describes lock types used by InnoDB. Shared and Exclusive Locks InnoDB implements standard row-level locking w
dev.mysql.com
오늘도 이어서.. Intention lock은 테이블 수준의 lock으로 잠금의도를 나타내는 lock입니다.
Sql에 따라 IS, IX lock으로 나뉘며 각각 S, X lock과의 호환여부가 다릅니다.
존재이유는 더 공부해보겠습니다.
Insert intention lock도 있습니다.
Intention lock과 이름은 동일하지만 행위는 좀 다릅니다.
Insert 시 거는 lock으로 일종의 gap lock으로 동작합니다.
기존 gap lock과 다른 점은 insert 시 gap에 들어가는 것을 막지 않고 동일한 key값으로 들어올 때만 막습니다.
당근 글에서 나와 있듯이 값이 없음으로 인해서 dead lock이 발생할 수 있습니다. Gap lock과 insert intention lock과 호환되지 않기 때문입니다.
MySQL Gap Lock 다시보기
우리가 일반적으로 알고 있는 데이터베이스 서버의 잠금(Lock)은 레코드 자체에 대한 잠금(Record Lock)이에요. 어떤 트랜잭션에서 레코드를 변경하기 위해서는 그 레코드를 잠그고, 그 동안은 다른
medium.com