Dirty Read

오손 읽기는 커밋되지 않은 값을 읽는 순간 시작된다

다른 트랜잭션이 rollback하면, 방금 읽은 값은 데이터베이스에 존재한 적 없는 값이 된다.

1 T1 UPDATE

balance를 200으로 바꾸지만 아직 commit하지 않았다.

2 T2 READ

READ UNCOMMITTED에서 T2가 200을 읽는다.

3 T2 사용

보고서, 판단, 계산이 미확정 값에 기대게 된다.

4 T1 ROLLBACK

200은 사라지고 원래 값만 남는다.

위험: T2는 존재하지 않는 200을 근거로 업무 결정을 내렸다.