레코드 수준 잠금

    [MySQL] 트랜잭션과 잠금

    Real MySQL 8.0 읽으면서 배웠던 부분들을 정리한 글입니다. 트랜잭션 트랜잭션이란 데이터베이스에서 더 이상 쪼갤 수 없는 작업의 최소 단위이다. 이 작업 안의 연산들은 모두 반영되거나(commit) 모두 반영되지 않아야 한다(rollback). MySQL의 격리 수준 여러 트랜잭션이 동시에 처리되고 있을때, 트랜잭션 간의 데이터의 조회, 변경에 대한 고립 정도를 나타내는 것을 격리 수준이라고 한다. READ UNCOMMITTED 각 트랜잭션이 commit, rollback 여부와 관계 없이 다른 트랜잭션의 값을 읽을 수 있다. 이름그대로 커밋되지 않은 데이터를 읽을 수 있는 격리 수준을 뜻한다. 이로 인해 Dirty Read 현상이 일어나게 된다. Dirty Read 완료되지 않은 트랜잭션의 데..