본문 바로가기

DB

직열성 위반

728x90
dirty Read

 
더티리드 Read Committed



Non-Repeatable Read   한 트랜잭션 내에서 같은 쿼리를 두번 수행할때, 다른 트랜잭션이 값을 수정함으로 해서 두 쿼리가 서로 다르게 나타나는 현상
- select ~ for update를 해서 처리하고자 하는 내용에 lock을 걸어서 이를 해결


Repeatable Read
read 후 인출하려는데 돈이없음
Phantom Read  
Serializable Read 로해결


insert update 금지
Phantom Conflict   서로 충돌하지 않는 두 개 이상의 트랜잭션이 삽입되려고 하는 가상의 튜플에 의해 충돌이 발생되는 현상
트랜잭션의 일관성이 보장되지 않는 현상


 t1 ,t2 실행결과와 t2,t1실행결과가 다르다
그게 팬텀 충돌


table 단위로 locking
index locking(테이블락 같은개념)


 

 

'DB' 카테고리의 다른 글

oracle Cursor-based Pagination - 페이징 처리  (0) 2022.01.04
동시성제어(트랜잭션)  (0) 2021.05.14
JDBC와 DBCP  (0) 2021.05.10