개미의 개열시미 프로그래밍

[MSSQL] WITH(NOLOCK) , ISNULL 본문

SQL

[MSSQL] WITH(NOLOCK) , ISNULL

YunHyeok 2023. 1. 3. 20:22
728x90
반응형

WITH(NOLOCK)


READ UNCOMMITTED

- 트랜잭션에서의 변경 내용 여부에 상관 없이 다른 트랙잭션에서 값 읽기 가능

- 정합성에 문제가 생길 수 있음

*정합성 : 데이터가 서로 모순 없이 일관되게 일치해야 함을 의미

 

READ COMMITTED  

- 가장 보편적인 격리 수준

- 트랜잭션에서 데이터 변경을 하더라도 COMMIT이 완료된 데이터만 다른 트랜잭션에서 읽기 가능

WITH(NOLOCK) 

- MSSQL는 READ COMMIITED 격리 수준이 기본이며 조회(읽기)는 작업 후에나 가능하다. 이를 방지하기 위해 활용하는것이 WITH(NOLOCK)

- READ COMMITED를 읽기(조회)시 READ UNCOMMITED하게 작업할 수 있는 문법

 

사용법

SELECT *
FROM 테이블명 WITH(NOLOCK)

- 정합성 문제 : committed 전에도 조회 가능한 점은 장점이 될 수 있으나 Rollback이 되는 경우 데이터를 잘못 읽을 수 있음

 

 

 

IS NULL


SELECT ISNULL(컬럼, 대체값)

- 컬럼값이 null인 경우에 대체값으로 변환  

 

[활용 경우]

- 컬럼값이 null인 경우 적절히 처리하기 위함 

 

 

728x90
반응형
Comments