반응형
트랜잭션 격리수준
발생에러 \ 트렌잭션 격리수준 |
Dirty Read | Non-Repeatable read | Pantom Read | |
격리수준 낮음 . . . . . 격리수준 높음 |
READ UNCOMMITED | 발생 가능 | 발생 가능 | 발생 가능 |
READ COMMITED | 없음 | 발생 가능 | 발생 가능 | |
REPEATABLE READ | 없음 | 없음 | 발생 가능 | |
SERIALIZABLE | 없음 | 없음 | 없음 |
READ UNCOMMITED
가장 낮은 격리수준으로서 커밋되지 않은 데이터를 볼 수 있음. 따라서 dirty read오류 발생
READ COMMITED
커밋된 데이터만 읽는것. 다른 A 트랜잭션에서 변경한 데이터를 읽을 때 B 트랜잭션에서 일관되게 읽지 않을 수 있음. 즉 unrepeatable read가 발생할 수 있음.
오라클의 격리수준
REPEATABLE READ
선행 트랜잭션이 읽은 데이터는 트랜잭션이 종료될 때까지 후행 트랜잭션에서 읽는것을 금지함. phantomread가 발생
MYSQL의 격리수준
SERIALIZABLE
가장 높은 격리수준. 성능이 낮다
실제로 거의 사용하지 않는다
반응형