나는 단순히 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
트랜잭션 레벨과 테이블 잠금에 대해서 더 자세히 알아보고 싶다면 다음 블로그에 한번 들어가보길 바란다.
반응형
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
0 나누기 오류 안나게하기 (0) | 2021.04.28 |
---|---|
데이터베이스 용량 확인 방법 (0) | 2021.04.27 |
프로시저 내용 전체 검색하는 방법 (0) | 2021.04.17 |
SSMS에서는 빠른데 적용하면 느릴경우 (0) | 2021.04.16 |
서버의 CPU 사용률 확인하는 쿼리 (0) | 2021.04.15 |