Write Conflict

MVCC가 읽기를 도와도 같은 행 쓰기는 현재 버전에서 충돌한다

일반 읽기는 과거 버전을 볼 수 있지만 UPDATE/DELETE는 현재 행의 락과 충돌 감지에 묶인다.

T1

01 UPDATE id=101

현재 행에 X-Lock을 얻는다.

02 COMMIT 전

다른 쓰기는 같은 행을 고칠 수 없다.

T2

01 SELECT

일관 읽기는 과거 버전을 볼 수 있다.

02 UPDATE

같은 현재 행 갱신은 T1 종료를 기다린다.