Lock

MySQL에서의 Lock

데이터 베이스 접근 경쟁 제어를 위해 Lock을 사용한다. MySQL은 크게 Table Lock, Global Lock, Name Lock, User Lock이 존재한다.

Table Lock

어떤 세션이 테이블 자원에 엑세스해 데이터를 사용할때 다른 세션에서 테이블 자원에 대한 엑세스를 제한하는 락이다. 락을 걸면 락을 해지하기 전까지 세션은 접근을 못한다. 락을 사용하기 위해서는 테이블 락 권한이 필요하다.

Global Lock

Global Read Lock, 현재 세션에서 Global Read Lock을 사용할때 Flush table 이용

Name Lock

User Lock

사용자 레벨에서 락을 걸수 있는 방법, GET_LOCK, RELEASE_LOCK