본문 바로가기
기타 개념정리

MSSQL WITH (NOLOCK) 개념 및 사용방법

by wakestand 2020. 3. 30.
반응형

MSSQL에서는 테이블에

삽입(Insert), 수정(Update), 삭제(Delete)를 수행할 경우

 

트랜잭션(Transaction)이 뭔말?

트랜잭션(Transaction)이란 데이터베이스의 작업 단위를 말하는데 데이터베이스에서 select, insert, update, delete 등 각종 작업을 수행한 뒤에 commit이나 rollback을 하면 그 전까지의 내용이 트랜잭션 하나가..

wakestand.tistory.com

위 트랜잭션이 모두 수행되기 전까지

테이블을 잠금 상태로 만들게 되는데

 

트랜잭션이 수행되는 동안

Insert, Update, Delete 된 내용이

Select 되는 것을 막기 위함이다

 

하지만 실 사용시에는

수천~수만명이 동시에

동일한 서버에 접속하게 되므로

 

Insert, Update, Delete가 이루어지는 동안

그저 기다릴 수 없기에

 

with (nolock)을

테이블 뒤에 붙여 사용하게 되는데

 

SELECT * FROM 테이블명 with (nolock)

이런 식으로 사용한다

 

with (nolock)을 사용하면

Insert, Update, Delete 되는 동안에도

Select가 가능해지지만

 

트랜잭션 수행 도중

추가, 수정, 삭제된 값들이

트랜잭션이 완료되지 않아도 SELECT 되게 된다

반응형

댓글