또니 개발 일기/개발 프로그래밍
Transaction Isolation Level (DB) 트랜잭션 격리 수준
또니로랑
2024. 2. 27. 20:52
Transaction Isolation Level이란?
트랜잭션의 격리 수준(Isolation Level)이란 여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것이다.
- Read Uncommited (Level 0) : 어떤 트랜잭션의 내용이 커밋이나 롤백과 상관없이 다른 트랜잭션에서 조회 가능, Dirty Read 발생함
- Read Committed (Level 1) : 한 트랙잭션의 변경 내용이 커밋되어야만 다른 트랜잭션에서 조회가 가능. 기본적으로 사용하는 격리수준
- Repeatable Read (Level 2) : 트랜잭션이 시작되지 전에 커밋되 내용에 대해서만 조회 가능
- Serializable (Level 3) : 엄격한 격리수준. 성능 측면세너는 동시 처리성능이 가장 낮음. 트랜잭션들이 동시에 일어나지 않고 순차적으로 실행되는 것 처럼 동작