WITH (NOLOCK)

2021. 1. 14. 09:33Database/MSSQL

WITH (NOLOCK) 이란?

MSSQL 에서 SELECT 시 WITH(생략가능) (NOLOCK) 을 주면 공유잠금을 풀고 바로 조회가능하다.

 

(nolock)
MSSQL 은 기본적으로 SELECT 시에 공유잠금이 걸린다.
SELECT 문이 수행되는 테이블에 대해서 INSERT, UPDATE, DELETE 문이 수행되고 있다면 SELECT 문은 선행 작업이 모두 끝날때까지 LOCK이 걸린다.
SELECT 문에 (NOLOCK) 을 추가하면 선행작업의 결과와 관계없이 바로 SELECT 문이 수행되어 값을 볼 수 있다.

JOIN 구문 시에는 테이블 마다 (nolock) 을 추가해야 하지만 프로시저 내에서는 시작부분에 한 문장만 추가하면 된다.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

'Database > MSSQL' 카테고리의 다른 글

[ PIVOT ] 행을 열로 바꾸기  (0) 2022.02.15
[ STUFF / FOR XML PATH ] 여러행 하나의 행으로 합치는 방법  (0) 2022.02.15
CURSOR  (0) 2022.02.15
MSSQL TIps  (0) 2022.02.15
PROCEDURE Tips  (0) 2022.02.15