select top 100000 *
into #tbTest
from TB_TEST
at isolation 0
를 실행하니
SELECT INTO cannot be specified with isolation level clause
안되는군요...(뭐 안될꺼 같으면서도 한번 해봤습니다....)
처리하고자 하는 테이블에서 처리범위를 줄일 수 없는 통계 쿼리가 있습니다. 이 쿼리가 tempTable을 생성해서 paging 하고 있고요
문제는 조건에 따라 1분 이상의 시간이 걸릴때가 있는데요
이 때 가끔씩 락이 발생하는데
sp_lock으로 살펴보니
Ex_table ==> temp DB
Sh_table-blk ==> 조회한 테이블
가 발생하는군요...
일단 제 생각에는 temp Table 생성시 조회하는 테이블에도 Shared Lock이 발생하는거 같은데요...
질문입니다.
1. Sh_table-blk는 대충 Shared Table Lock Bulk 뭐 요런정도 일꺼 같기는 한데... 언제 발생하는건지 알고 싶습니다.
2, temp Table 생성시 조회하는 테이블에 락을 발생 안시킬 방법이 있을까요??
3. 만약 2번이 안된다면 저 쿼리가(1분이상도는) 돌아가는 동안 insert update delete도 종종 돌아가는데 이 때 발생하는 락은 해결할 방법이 없나요??
|