CS/데이터베이스
innodb 스토리지 엔진의 잠금
coffee.
2024. 2. 23. 22:17
레코드락
-테이블 레코드 자체를 잠그는 락
-MySQL에서의 레코드 락은 테이블의 레코드가 아닌 인덱스의 레코드를 잠근다.
-여기서 락이 걸리는 인덱스는 클러스터 인덱스와 논클러스터 인덱스 모두를 포함한다.
갭 락
-레코드와 바로 인접한 레코드 사이의 간격만을 잠그는 것
-레코드와 레코드 사이의 간격에 새로운 레코드가 생성(INSERT)되는 것을 제어하는 것
-아직 존재하지 않지만 지정된 범위의 해당하는 인덱스 테이블 공간을 대상으로 거는 잠금
넥스트 키 락
-레코드 락과 갭 락을 합쳐 놓은 형태의 잠금
자동 증가 락
-MySQL에서는 자동 증가하는 숫자 값을 추출하기 위해 AUTO_INCREMENT라는 컬럼 속성을 제공
-Innodb 스토리지 엔진에서는 이를 위해 내부적으로 AUTO_INCREMENT락 이라고 하는 테이블 수준의 잠금을 사용
-INSERT나 REPLACE 같이 새로운 레코드를 저장하는 쿼리에서만 필요
-테이블마다 단 하나만 존재
참조
리얼 MySQL 1권