토픽 42 / 201·무결성 및 트랜잭션
Non-Repeatable Read
Non-Repeatable Read
한 트랜잭션 내에서 같은 쿼리를 두 번 실행했을 때, 다른 트랜잭션의 UPDATE/DELETE 커밋으로 인해 서로 다른 결과가 반환되는 현상
특징: Read Committed 이하에서 발생, 같은 행의 값이 달라짐, UPDATE 기인
동작원리: T1이 데이터 읽기 -> T2가 같은 데이터 수정 후 커밋 -> T1이 다시 읽으면 다른 값
방지 방법: Repeatable Read 이상 격리 수준 설정
적용사례: 조회 중 데이터 변경으로 인한 불일치, 보고서 생성 중 수치 변동
비교: Non-Repeatable Read(같은 행 값 변경) vs Phantom Read(행 추가/삭제로 결과 집합 변경)
연관: 격리 수준, 동시성 문제, Repeatable Read