2016-06-21 3 views
0

길게 오랜 시간이 걸리는 쿼리가 있습니다. varbinary(max) 컬럼이 여러 개인 많은 행을 검색합니다. 이 쿼리는 최적화가 필요하지만 의심의 여지가 없습니다.하지만 제 질문은 SQL 활동 모니터에서 목격하고있는 끊임없이 변화하는 '작업 상태'에 매우 구체적입니다.내 SQL 프로세스가 '일시 중단됨'에서 '실행 중'으로 전환하고 다시 돌아갑니다.

매 5 초마다 작업 상태가 일시 중단에서 실행 중으로 변경된 다음 다시 변경됩니다. 이것이 의미하는 바는 무엇입니까?

참고 : 이러한 쿼리의 최적화와 관련하여 별도의 질문이 제기 될 수 있습니다.하지만 지금은 묻지 않습니다. 상태의 빠른 변경에 대해 매우 구체적으로 묻습니다. 왜냐면

하지 중복 : 나는 작업 상태의 연속으로의 변화에 ​​대해 부탁 해요

, 나는 수단을 중단 무엇을 요구하고 있지 않다. 나는 (일시 중단 된 경우 I/O를 기다리는 경우) 쿼리 당 입출력을 기다리는 이유를 묻는 중입니다.

+1

의 사용 가능한 복제 (HTTP :

현재이 문서의 서로 다른 상태의 설명을 볼 수 있습니다 : //stackoverflow.com/questions/17817177/what-does-a-status-of-suspended-and-high-diskio-means-from-sp-who2) –

+0

Google에서 중단 된 Chris의 의미는 google'd입니다. 그 질문에 - 내가 여기서 묻고있는 것이 아닙니다. 어쨌든 고마워. –

+0

죄송합니다. 다른 질문의 설명이 충분하다고 생각했습니다. 디스크의 페이지에 액세스하여 반복적으로 처리하므로 상태가 빠르게 변경됩니다. 언급 한 바와 같이, 디스크 IO를 줄이기 위해 쿼리를 최적화하면 작업이 중단 된 시간이 줄어 듭니다. –

답변

2

정상입니다. SUSPENDED는 세션이 I/O와 같은 이벤트가 완료 될 때까지 기다리는 것을 의미합니다. 세션이이 상태에서 오히려 빈번하게 튀어 나오게됩니다. [? "일시 중지"상태를 수행하고 높은 DiskIO은 SP의 \의 _who2에서 의미]

sp_who (Transact-SQL)