트랜잭션 고립화 수준

From CS Wiki
Transaction Isolation Level(ANSI/ISO SQL92)
  • 동시 접근에 대해 이상현상이 생기지 않음을 보장하는 트랜잭션 고립화 수준에 관한 표준

단계[edit | edit source]

단계 명명 설명
레벨0

(Level0)

Read Uncommitted
  • 트랜잭션 처리 중인 데이터를 읽을 수 있음
  • [발생 가능 현상]
    • Dirty Read
    • Non-Repeatable Read
    • Phantom Read
레벨1

(Level1)

Read Committed
  • 트랜잭션이 커밋되어 확정된 데이터만 읽을 수 있음
  • (대부분의 DBMS에서 기본으로 채택하는 레벨)
  • [발생 가능 현상]
    • Non-Repeatable Read
    • Phantom Read
레벨2

(Level2)

Repeatable Read
  • 선행 트랜잭션이 데이터를 읽는 경우 종료 전까진 갱신/삭제 불가
  • [발생 가능 현상]
    • Phantom Read
레벨3

(Level3)

Serializable
  • 선행 트랜잭션이 데이터를 읽는 경우 종료 전까진 갱신/삭제/삽입 불가
  • 완벽한 정합성을 보장하는 레벨

정리[edit | edit source]

구분 Dirty Read Non-Repeatable Read Phantom Read
Level0 O O O
Level1 X O O
Level2 X X O
Level3 X X X

같이 보기[edit | edit source]