최근 업무 중 발견한 데드락 현상...
관련하여, 참고한 문서 링크들이다. 후에 잃어버리지 않도록 저장!
MySQL InnoDB의 Lock 관련 공식 문서
LockType 관련 글
https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html#innodb-next-key-locks
Lock mode (shared lock(S lock), exculsive lock(X lock)) 관련 글
https://mariadb.com/kb/en/innodb-lock-modes/
AUTO_INCREMENT Lock Modes 관련 글
https://mariadb.com/kb/en/auto_increment-handling-in-innodb/
트랜잭션 관련 참고 글
https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-model.html
SQL 쿼리 별 Lock이 어디에 걸리는 지에 대한 글
https://dev.mysql.com/doc/refman/8.0/en/innodb-locks-set.html
데드락 핸들링하는 법 관련 글
https://dev.mysql.com/doc/refman/8.0/en/innodb-deadlocks.html
그 외 참고 문서
It is important to remember that InnoDB actually locks index entries, not rows.
InnoDB 는 row를 lock하는 것이 아닌, index 를 lock 하는 것임을 알려주는 글.
데드락 현상 발견 및 분석 경험 글
처음에 많은 도움이 됨
트랜잭션 격리 수준 관련 글
https://nesoy.github.io/articles/2019-05/Database-Transaction-isolation
MySQL InnoDB lock & deadlock 이해하기
관련하여 잘 정리된 글
https://www.letmecompile.com/mysql-innodb-lock-deadlock/
'개발자: 지식 정리 > CS 지식: DB' 카테고리의 다른 글
MySQL InnoDB 락 / 데드락 해결 공유 (1) | 2022.09.22 |
---|---|
MySQL 서버(MySQL 엔진, InnoDB 스토리지 엔진) 정리 (0) | 2022.09.22 |
(SQL) 키 - 슈퍼키, 후보키, 기본키, 외래키 (0) | 2021.11.16 |