EX)
EMP라는 데이터베이스를 이용해
a Transaction이 시작해서, UPDATE로 11장보고 변경하려 한다.
b Transaction에서 empno가 11번인 데이터를 찾으면 임꺽정이 나온다->a가 커밋을 하지 않았기 때문
Transaction a가 종료하고 커밋을 하고 나면 그 이후부터 장보고가 출력됨, 이것이 readcommit이다.
b 가 작업을 할 때 11번이 임꺽정인것을 undo영역에 두고 있다.
그리고 a가 커밋을 하면 undo영역 데이터가 장보고로 바뀐다. 이것이 read commit
b가 마지막에 INSERT를 해서 연산을 하는 Transaction이 시작한다고 가정하자.
정산을 하려 할 때, SELECT 1차 만원, 2차 만원, 3차 2만원-> 다른 Transaction에서 커밋을 해서 값이 바뀐 것이다.
이처럼 데이터의 정합성이 깨지는 것을 Phantom read라고 한다.