transaction_isolation(2)
-
기초공부 - (4) isolation(고립,독립,격리)
# 트랜잭션이 동시에 발생하였을 경우, 동일 데이터에 대해서 세션별 결과값이 다르게 보여질 수가 있습니다. 이것은 isolation 레벨에 따라서 데이터의 정합성 또는 일관성이 달라질 수가 있다는 것입니다.(동시성) # isolation 설정에 따라 데이터의 변화가 어떻게 되는지 아래 예시 데이터를 통하여 테스트를 진행해 보려고 합니다. 1. Read-Uncommitted - 다른 세션에서 변경된 정보를 바로 확인이 가능 합니다. 즉, 다른 세션에서 commit 되지 않은 정보를 바로 확인 할 수가 있습니다. 2. Read-Committed - 변경된 정보는 commit이 발생되기 전까지는 다른 세션에서 변경된 값을 볼 수가 없습니다. 3.Repeatable Read - 스냅샷을 생성하고 데이터를 조회 ..
2024.02.05 -
transaction이 완벽하지 않은듯하다?
내가 트랙잭션을 걸고 작업을 한다면 문제가 없을것같지만, 다른 세션에서 dml 작업이 들어간다면 혼선이 올수 있을 것 같다. 다른 세션이 dml이 하였을 때 트랜잭션을 건 내 세션에서는 반영이 되는 경우가 있고 안되는 경우가 있는데 왜 그런지 알수가 없었다. start transaction을 하였을 경우 rollback이나 commit이 오기전 까지는 transaction이 계속 활성화 상태로 되어있다고 생각하였다. 그러나 여기서 이상한점은 다른 세션에서 insert를 하였을 경우 transaction 을 건 세션은 select문을 초기 실행 했느냐안했느냐에 따라서 반영이되고안되고를 오락가락 하는것같은데 관련 정리가 필요해 보인다고 생각하였다. 이런 의문을 품던중 아래 링크 설명을 보았다. 해당 글을 자..
2022.09.28