ANSI 표준 격리 수준 기준으로, 다음 T1 에서 두 조회 결과가 달… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
ANSI 표준 격리 수준 기준으로, 다음 T1 에서 두 조회 결과가 달라진 현상은?T1: SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; T1: SELECT COUNT(*) FROM 입원 WHERE 병동 = 'W1'; -- 3 T2: INSERT INTO 입원 VALUES (9, '오라', 'W1'); T2: COMMIT; T1: SELECT COUNT(*) FROM 입원 WHERE 병동 = 'W1'; -- 4
1
Phantom Read
2
Non-Repeatable Read
3
Dirty Read
4
Lost Update
해설
같은 조건으로 다시 조회했을 때 다른 트랜잭션이 삽입하고 커밋한 새 행이 나타나 건수가 늘어난 것은 Phantom Read 이다.
ANSI 기준 REPEATABLE READ 는 이미 읽은 행이 바뀌는 것만 막고 새 행의 출현은 허용하며, 이를 막으려면 SERIALIZABLE 이 필요하다.
- Dirty Read 는 커밋되지 않은 데이터를 읽는 현상이다.
- Non-Repeatable Read 는 이미 읽은 행의 값이 수정·삭제되어 달라지는 현상이다.
- Lost Update 는 두 트랜잭션의 갱신 중 하나가 덮여 사라지는 현상이다.
오류나 개정된 내용이 보이면 알려주세요