문제
동일한 트랜잭션 내에서 같은 데이터를 두 번 읽었을 때 다른 값이 조회되는 Non-Repeatable Read 현상을 방지하는 최소한의 격리 수준은 무엇인가?
정답
REPEATABLE READ
REPEATABLE READRepeatable Read리피터블 리드
해설
격리 수준은 READ UNCOMMITTED < READ COMMITTED < REPEATABLE READ < SERIALIZABLE 순으로 강화된다. READ COMMITTED는 커밋된 데이터만 읽지만 같은 트랜잭션에서 재읽기 시 다른 값이 나올 수 있다. REPEATABLE READ부터는 트랜잭션 시작 시점의 데이터 스냅샷을 유지하여 Non-Repeatable Read를 방지한다.