트랜잭션의 ACID 중에 Isolation(격리성)은 트랜잭션이 서로 독립적으로 실행되어야 하고, 서로 간섭하면 안된다는 것을 말한다.
이 격리 수준에 따라 성능에 차이가 생기게 된다.
트랜잭션 격리 수준은 SQL 표준에 따라 4가지로 나뉜다.
1. READ UNCOMMITTED
가장 낮은 격리 수준이다.
트랜잭션이 커밋되지 않은 데이터를 다른 트랜잭션에서 읽을 수 있다.
2. READ COMMITTED
대부분의 상용 DBMS에서 기본 설정으로 사용되는 수준이다.
한 트랜잭션이 커밋된 데이터만 다른 트랜잭션에서 읽을 수 있다.
3. REPEATABLE READ
한 트랜잭션 내에서 동일한 데이터를 여러 번 읽어도 그 값이 변하지 않도록 보장한다.
트랜잭션 중 다른 트랜잭션에서 해당 데이터에 대한 변경이 불가능하다.
4. SERIALIZABLE
가장 높은 격리 수준이다.
트랜잭션들이 서로 완전히 독립적으로 실행되는 것처럼 처리된다.
트랜잭션이 완료될 때까지 다른 트랜잭션이 동일한 데이터에 접근할 수 없다.
성능 저하가 발생할 수 있다.
'CS > 데이터베이스' 카테고리의 다른 글
[DB] SQL - WHERE에 들어갈 수 있는 조건들 (4) | 2024.11.13 |
---|