데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
with nolock 은 단순 select 문에 사용하는 것으로 알고 있습니다.
update, insert, delect 문에서는 사용을 못하는 것도 알고 있는데,
특수한 경우 사용여부에 대해 궁금합니다.
예를 들어
TABLE_A { NAME, AGE, DATE }
TABLE_B { NAME, AGE, DATE }
의 테이블들이 존재 할 경우
INSERT TABLE_A ( NAME, AGE)
VALUE ( SELECT NAME, AGE FROM TABLE_B WHERE DATE = '2018-11-03' )
DELETE TABLE_A
WHERE NAME <> (SELECT NAME FROM TABLE_B)
UPDATE TABLE_A
SET AGE = b.AGE
FROM TABLE_B b
WHERE B.DATE = '2018-10-11'
UPDATE TABLE_A
SET DATE = b.DATE
FROM TABLE_A a JOIN
(SELECT TOP 1 DATE, NAME
FROM TABLE_B) b ON a.NAME = b.NAME
등 과 같이 SELECT 문이 포함된 UPDATE, INSERT, DELETE 문들의 경우 SELECT문의 FROM 절에 WITH (NOLOCK) 문을 사용해도 되는 걸까요?
Comment 1
-
루디먼트
2018.11.06 12:19
네