프로그래밍/DataBase
                
              [MS-SQL] with(nolock)
                홍반장水_
                 2022. 6. 2. 11:26
              
              
                            
        반응형
    
    
    
  
-- with(nolock) 
MSSQL 은 기본적으로 SELECT 시 공유잠금(S Lock) 이 걸린다. 
즉, DML(INSERT, UPDATE, DELETE) 작업중인 ROW 또는 TABLE 에 SELECT 할 경우, 
해당 작업이 끝나야 SELECT 할 수 있다는 의미이다.   
이를 방지하기 위해 WITH(NOLOCK) 을 사용할 수 있다. 
WITH(NOLOCK) 의 격리수준(Isolation Level)은 Read Uncommitted 와 같다고 보면 된다. 
즉, SELECT 할 ROW 또는 TABLE 이 잠겨있어도(작업중이여도) 기다리지 않고 조회 (Dirty Read) 하겠다라는 의미이다. 
이를 통해 조회 성능이 올라가고, 데드락(Deadlock) 을 방지할 수 있다. 
 
반응형