
MySQL InnoDB 트랜잭션과 락, 격리 수준
·
데이터베이스
잠금스토리지 엔진 레벨과 MYSQL 엔진 레벨 둘로 나눌 수 있다.MYSQL 엔진 레벨은 모든 스토리지 엔진에 영향을 미치지만 스토리지 엔진 레벨은 상호 스토리지 간 영향을 미치지 않는다. WHY?락은 왜 존재하는가? 동시성 제어를 위해 존재한다.테이블 데이터 동기화를 위한 테이블 락 이외에도 테이블 구조를 잠그는 메타데이터 락, 필요에 맞게 사용하는 네임드 락 기능을 제공한다. 글로벌 락가장 범위가 큰 잠금이며, 한 세션에서 글로벌 락을 획득하면 다른 세션에서 SELECT를 제외한 대부분의 DDL문장이나 DML 문장을 실행하는 경우 글로벌 락이 해제될 때까지 해당 문장이 대기 상태로 남는다.그러나, 모든 변경 작업을 멈추기 때문에 더 가벼운 락의 필요성이 생겼다. DML vs DDL 비교항목 ..