빨리 만들기 위해 다음 쿼리를 다시 작성하는 데 도움이 필요합니다. 궁극적으로, 내가 원하는 것은 대응 메트릭을 가진 서버 당 한 줄 (캡션)입니다. Max와 Avgs를 제거하면 서버 당 1600 줄이 생기고 3 초 후에 실행됩니다. 추가 할 경우 단일 서버의 데이터를 계산하는 데 약 3 분이 걸립니다. 총 서버 수는 11K 이상입니다. 이 도움이 될 것입니다 경우더 빠르게 만들기위한 도움이 필요합니다.
SELECT
Nodes.Caption, COUNT(DISTINCT CPUMultiLoad_Detail.CPUIndex) AS CPUCount,
Max(CPULoad.MaxLoad) as MaxCPU, Avg(CPULoad.AvgLoad) as AvgCPU,
Round((CPULoad.TotalMemory/1073741824),0) as MemCount,
Round(Max(CPULoad.MaxMemoryUsed/CPULoad.TotalMemory * 100),2) as MaxMem,
Round(Avg(CPULoad.AvgPercentMemoryUsed),2) as AvgMem
FROM
Nodes
INNER JOIN
CPUMultiLoad_Detail ON Nodes.NodeID = CPUMultiLoad_Detail.NodeID
INNER JOIN
CPULoad ON Nodes.NodeID = CPULoad.NodeID
WHERE CPULoad.Datetime >= DATEADD(month,datediff(month,0,getdate())-1,0)
and CPULoad.Datetime < DATEADD(day,datediff(day,0,getdate()),1)
GROUP BY Nodes.Caption, CPULoad.TotalMemory
는 PK 테이블 레이아웃과 지수를 표시하고 당신이 추가/기존 인덱스를 수정할 수 있는지 여부를 – objectNotFound
당신은 또한 실제 실행 계획을 게시 할 수 있습니까? –
cpuLoad.totalMemory 주위에 집계 함수 (SUM?)가 있습니까? – Beth