nolock

nolock

    SELECT만 하는데 자꾸 LOCK이 걸리는 경우

    나는 단순히 SELECT만 하는데 자꾸 다른데서 테이블을 잠그고 있어서 SELECT가 느린경우가 있다. 그래서 데이터 무결성이 크게 중요하지 않은 자료를 보여주는 거라면(금융이나 보안계열 아니면 괜찮지않을까?) WITH NOLOCK 키워드를 많이 사용한다. SELECT * FROM CUST AS A (NOLOCK) LEFT JOIN SELLING AS B (NOLOCK) ON A.CUSTID = B.CUSTID 그런데 이게 모든 테이블마다 NOLOCK을 써주는게 보통일이 아니다. 프로시저나 한 섹션 전체에서 NOLOCK을 걸어도 상관없다면 다음 명령을 상단에 써주자. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 트랜잭션 레벨과 테이블 잠금에 대해서 더 자세히 알..