반응형

SQL Server의 기본 격리 수준(isolation level)은 read committed 입니다. 

그래서 데이터를 읽을 때는 공유 잠금이 유지됩니다. 그러므로, 쉽게 설명하자면 

SELECT문이 실행 중인 동안에 같은 row혹은 table에 insert나 update하는 작업은 block됩니다. 

거꾸로 같은 row, data page 혹은 테이블에 데이터를 insert, update하는 동안 SELECT문은 block되게 됩니다. 

이렇게 되면 데이터베이스 성능이 현저히 떨어지게 됩니다. 

그러므로 일반적으로 단순 조회 쿼리에는 with (nolock)문을 추가하여 사용합니다.

ex) SELECT * FROM MEMBER with (nolock)



출처: https://skymin2.tistory.com/43 [생계형 개발자]

반응형

+ Recent posts