| 부작용 | 한 줄 의미 |
|---|---|
| ① Dirty Read | 다른 트랜잭션의 COMMIT 전 변경값을 읽음 — ROLLBACK되면 유령 데이터 |
| ② Non-repeatable Read | 같은 행을 두 번 읽었는데 값이 바뀜 — 사이에 UPDATE+COMMIT |
| ③ Phantom Read | 같은 조건 SELECT 행 수가 바뀜 — 사이에 INSERT+COMMIT |
| 격리 수준 ↓ / 부작용 → | Dirty | Non-repeatable | Phantom |
|---|---|---|---|
| ① Read Uncommitted | ❌ 발생 | ❌ 발생 | ❌ 발생 |
| ② Read Committed | ✅ 차단 | ❌ 발생 | ❌ 발생 |
| ③ Repeatable Read | ✅ 차단 | ✅ 차단 | ❌ 발생 |
| ④ Serializable | ✅ 차단 | ✅ 차단 | ✅ 차단 |