정보처리기사 실기데이터베이스 이론트랜잭션 격리 수준난이도 2SHORT_ANSWER

정보처리기사 실기 트랜잭션 격리 수준 기출문제 #1681

문제

한 트랜잭션에서 동일한 쿼리를 여러 번 실행했을 때 첫 번째 실행과 두 번째 실행 사이에 다른 트랜잭션이 새로운 레코드를 삽입하여 두 번째 실행에서 추가적인 행들이 나타나는 현상을 방지할 수 있는 최소한의 격리 수준은 무엇인가?

정답

SERIALIZABLE

SERIALIZABLESerializable시리얼라이저블직렬화 가능

해설

이 문제는 Phantom Read 현상을 방지할 수 있는 격리 수준을 묻고 있습니다. Phantom Read는 동일한 트랜잭션 내에서 같은 범위 쿼리를 반복 실행할 때, 다른 트랜잭션의 INSERT로 인해 새로운 행들이 나타나는 현상입니다. 격리 수준별로 살펴보면: READ UNCOMMITTED와 READ COMMITTED는 Phantom Read를 방지하지 못하고, REPEATABLE READ도 기존 행의 변경은 방지하지만 새로운 행의 삽입(Phantom Read)은 허용합니다. 오직 SERIALIZABLE 격리 수준만이 범위 락(Range Lock)이나 갭 락(Gap Lock)을 통해 Phantom Read를 완전히 방지할 수 있습니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] 트랜잭션 격리 수준 데이터베이스 이론 기출 #1681 | sqldpass