
Transaction Isolation Level은 데이터베이스 내의 동시성 제어를 위한 기능으로, 여러 트랜잭션의 동시 실행을 허용하면서 데이터의 일관성을 유지하는 것을 목표로 합니다.
- Read Uncommitted: 다른 트랜잭션에 의해 아직 커밋되지 않은 데이터를 읽을 수 있습니다. 이 레벨에서는 데이터 무결성이 보장되지 않습니다.
- Read Committed: 다른 트랜잭션에 의해 커밋된 데이터만 읽을 수 있습니다. 이 레벨에서는 데이터 무결성이 보장됩니다.
- Repeatable Read: 트랜잭션 시작 시점의 데이터를 읽을 수 있습니다. 다른 트랜잭션에 의해 데이터가 변경되더라도, 트랜잭션의 결과는 변경되지 않습니다.
- Serializable: 트랜잭션의 결과가 다른 트랜잭션에 의해 영향을 받지 않습니다. 이 레벨에서는 데이터 무결성이 가장 잘 보장됩니다.
- Snapshot Isolation: 트랜잭션의 시작 시점의 데이터를 읽을 수 있습니다. 다른 트랜잭션에 의해 데이터가 변경되더라도, 트랜잭션의 결과는 변경되지 않습니다.
데이터 무결성을 유지하는 데 가장 중요한 Transaction Isolation Level은 Serializable입니다. 이 레벨에서는 데이터의 일관성이 가장 잘 보장됩니다.
성능을 향상시키는 데 도움이 될 수 있는 Transaction Isolation Level은 Read Uncommitted과 Read Committed입니다. 이 레벨에서는 데이터의 일관성이 보장되지 않지만, 트랜잭션의 실행 시간이 단축됩니다.
2025-04-10 07:19