DB Lock

Lock이란 트랜잭션 처리의 순차성을 보장하기 위한 방법. 트랜잭션이란 논리적 기능을 수행하는 처리 단위이다.(쿼리의 묶음이라고 보면된다)

중요한 것은 DBMS마다 Lock을 구현하는 방식과 세부적인 방법이 다르다. 따라서 DBMS를 효과적으로 이용하기 위해서는 해당 DB의 Lock에 대한 이해가 요구됨

InnoDB는 row lock 개념을 사용하기 때문에 row 단위의 lock을 사용할 수 있다. 이를 통해서 사용되는 기본 Lock의 종류는 아래와 같다.

Shared Lock(공유 락)

→ Read 전용 Lock / 배타 락과 동시에 사용할 수 없다.

Exclusive Lock(베타 락)

→ Write 전용 Lock / 트랜잭션이 완료될때까지 유지

Intention Locks