CS/데이터베이스

innodb 스토리지 엔진의 잠금

coffee. 2024. 2. 23. 22:17

레코드락

-테이블 레코드 자체를 잠그는 락

-MySQL에서의 레코드 락은 테이블의 레코드가 아닌 인덱스의 레코드를 잠근다.

-여기서 락이 걸리는 인덱스는 클러스터 인덱스와 논클러스터 인덱스 모두를 포함한다.

 

갭 락

-레코드와 바로 인접한 레코드 사이의 간격만을 잠그는 것

-레코드와 레코드 사이의 간격에 새로운 레코드가 생성(INSERT)되는 것을 제어하는 것

-아직 존재하지 않지만 지정된 범위의 해당하는 인덱스 테이블 공간을 대상으로 거는 잠금

 

넥스트 키 락

-레코드 락과 갭 락을 합쳐 놓은 형태의 잠금

 

 

자동 증가 락

-MySQL에서는 자동 증가하는 숫자 값을 추출하기 위해 AUTO_INCREMENT라는 컬럼 속성을 제공

-Innodb 스토리지 엔진에서는 이를 위해 내부적으로 AUTO_INCREMENT락 이라고 하는 테이블 수준의 잠금을 사용

-INSERT나 REPLACE 같이 새로운 레코드를 저장하는 쿼리에서만 필요

-테이블마다 단 하나만 존재

 

 


참조

리얼 MySQL 1권