[MySQL] InnoDB 스토리지 엔진 잠금
·
Database
InnoDB 스토리지 엔진은 이전에 봤던 MySQL 엔진 레벨의 잠금과 별개로, 스토리지 엔진 내부에서 레코드 기반의 잠금방식을 지원한다. 이전에는 InnoDB 스토리지 엔진에서 사용되는 잠금에 대한 정보가 얻기 어려웠는데최근 버전에는 MySQL 서버에 존재하는 information_schema 데이터베이스에 존재하는INNODB_TRX, INNODB_LOCKS, INNODB_LOCK_WATES 라는 테이블을 조인해서 조회 시 확인할 수 있다. InnoDB는 기본적으로 MVCC를 이용한 낙관적인 동시성 제어를 지원하지만특정 상황에 S-Lock, X-Lock을 이용해 비관적인 동시성 제어를 사용한다.X-Lock배타적 락이라고도 불리는 이 잠금은, read/write에 대한 잠금이다.SELECT .. FOR ..