2014-10-01 3 views
4

on http://technet.microsoft.com/en-us/library/aa173882(v=sql.80).aspx 해당 CPU는 "이벤트에 사용 된 CPU 시간 (밀리 초)"입니다. 이고 지속 시간은 "이벤트가 걸린 시간 (밀리 초)입니다." 2650ms CPU를 사용하지만 773ms Duration 만 실행하는 쿼리의 문제를 해결할 때 이러한 숫자가 다소 더 가깝지 않아야합니까? 쿼리가 이벤트의 전체 지속 시간보다 더 많은 CPU 시간을 어떻게 사용할 수 있습니까? 감사합니다SQL Server Profiler에서 CPU 대 기간 D

+0

운영 체제가 어떻게 작동하는지 배우려면 여러 프로세스에 대한 시간 조각을 제공해야합니다. 다음은 시작할 수있는 장소입니다. http://en.wikipedia.org/wiki/Preemption_(computing)#Time_slice. 참고 : 다중 프로세서 환경 (또는 하이퍼 스레딩 환경)에서는 프로세서/스레드 수를 고려해야합니다. –

+0

실행 계획을 확인하십시오. 거기에 평행선 쿼리가있어 CPU 시간이 왜 지속 시간보다 긴지 설명 할 수 있습니다. –

답변

5

SQL 서버가 멀티 코어 CPU의 다중 스레드에서 실행되도록 SELECT 문을 분할하고 있습니다. 반환 된 시간을 판단하여 서버에 쿼드 코어 CPU가 있다고 추측합니다.

예를 들어 CPU1, CPU2 및 CPU3이 모두 750ms를 소비하고 CPU4가 400ms를 소비하는 경우 전체 합계는 2650ms가되지만 전체 소요 시간은 겨우 750ms입니다.

+0

설명해 주셔서 감사합니다. 그것은 왜 저에게 결코 전에 저에게 결코 일어나지 않은지 총계 감을 만든다. – Don