DB
WITH (NOLOCK)
91cm
2018. 9. 14. 00:16
WITH (NOLOCK) : 공유잠금을 걸지 않고 바로 조회
*사용이유?
MSSQL의 기본 격리 수준(isolation level)은 read committed 임
SELECT시 수행시 같은 테이블에서 INSERT, DELETE, UPDATE가 되고 있으면 SELECT는 LOCK이 걸린다.
WITH (NOLOCK)을 사용하면 선행작업의 결과와 관계 없이 SELECT문이 실행된다
*예제
쿼리
SELECT * FROM 테이블 WITH (NOLOCK)
프로시저
CREATE PROCEDURE 프로시저명
AS
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET NOCOUNT ON;
BEGIN
~~~~
END
그러나 쓰지 말아야 할 경우가 있음 , 정말로! 중요하게 실시간으로 데이터를 볼땐는 쓰지 말아야 할 것이다.
(돈과 관련된? 근대 대부분은 없을 듯)