작성일 : 11-11-04 20:00
|
[MsSQL] SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
|
|
|
글쓴이 :
Mr가망생
 조회 : 5,471
|
http://www.cyworld.com/colds1004/6777129 [4574] |
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SQL문 옵션의 하나인 TRANSACTION ISOLATION LEVEL (트랜잭션 격리 수준)
보통 트랜잭션 실행중 데이터의 일관성을 위해 트랙잭션이 commit, rolback 결과가 나올때까지 다른 입력이나 조회 수정이 불가하다
이럴경우 트랜잭션이 완료될때까지 무한정 기다려야 하는 lock이 걸리게 된다.
여기서 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED (격리수준 UNCOMMITTED 읽기 가능)으로 변경하면
트랜잭션 실행중이여서 다른 작업이 가능하다.
< 세션1 에서 임시테이블, 데이터 입력후 트랙잭션 발생시킴 >
< 세션2 에서 트랜잭션 진행중인 테이블 조회 안됨 : SET TRANSACTION ISOLATION LEVEL READ COMMITTED>
< 세션2 에서 트랜잭션 진행중인 테이블 조회 가능 : SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED>
SELECT * FROM TEMPTALBE WITH (NOLOCK) -- 트랜잭션이 진행중이여도 조회할수 있음
[그림은 원본출처에서 볼것]
[SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 로 검색하면 많이 나옴]
|
|