-----------------------

데이터베이스에는

undo

redo

 

[홍길동 5000원] 일경우

10000원으로 업데이트하고 커밋을 아직 안했을 경우

undo 로그에는 [홍길동 5000원]의 값이 저장되어 있다 (커밋하기 전의 데이터)

롤백하면 undo로그에서 값을 가져온다

 

1번유저가 트랜잭션중

2번유저가 들어오면

select를 처음 끝 두번하게되면

처음엔 커밋전이라 5000원

끝엔 커밋후라  10000원을 보게된다

 

oracle은 READ COMMITTED

MySql은 Repeatable Read

한번 undo를 봤다면 끝까지 같은 값을 본다 - 정합성 문제가 발생하지 않는다

 

https://joont92.github.io/db/%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-%EA%B2%A9%EB%A6%AC-%EC%88%98%EC%A4%80-isolation-level/

 

[db] 트랜잭션 격리 수준(isolation level)

트랜잭션 격리수준(isolation level)이란 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것이다. 즉, 간단하게 말해 특정 트랜잭션이 다른 트랜잭션에 ��

joont92.github.io

 

커밋 리드

언커밋 리드

 

겟인데어 41~ 강

 

--------------------------

'Database' 카테고리의 다른 글

데이터베이스 // 순위 매기기  (0) 2020.09.10
20200427 ResultSet  (0) 2020.04.27
200416 / 데이터베이스 용어 1  (0) 2020.04.16

+ Recent posts