2
CRM 4.0을 4.0에서 업그레이드했는데 응용 프로그램 로그에 많은 오류가 표시됩니다. 전자 메일 라우터 때문에 발생합니다. 오류 텍스트는 "30.0 초의 쿼리 실행 시간이 임계 값 10 초를 초과했습니다"입니다.CRM 2011 EmailHashBase
WITH Candidates
(
ActivityId
) AS
(SELECT ActivityId
FROM EmailHashBase WITH (NOLOCK)
WHERE ActivityId IN
(SELECT ActivityId
FROM EmailHashBase WITH (NOLOCK)
WHERE HashType = 0
AND Hash IN (111682,1892164739,45,1824023892,54,3805,125879)
GROUP BY ActivityId
HAVING COUNT(ActivityId) >= 7
)
AND HashType = 1
AND Hash IN (969105075,1418975348,547970098,1044570065,-1578559672,1137188287,-1492206818,1365121987,1893861533,-1313312639,-1829169632,-1685403462,-518982188,1123523219,284291011,-981044541,1790111815,-808308608,-599769785,971845046)
GROUP BY ActivityId
HAVING COUNT(ActivityId) >= 2
)
SELECT TOP 1 a.ActivityId
FROM ActivityPointerBase AS a WITH (NOLOCK)
WHERE a.ActivityId IN
(SELECT ActivityId
FROM Candidates AS c
WHERE(
(SELECT COUNT(*)
FROM EmailHashBase AS h
WHERE h.ActivityId = c.ActivityId
AND h.HashType = 0
)
<= 7
)
)
ORDER BY a.ModifiedOn DESC
데이터베이스가 분 정도 소요 직접에 대해이 쿼리를 실행 :
는 여기가 실행 년대 쿼리입니다. 나는 "설정 통계 IO ON"을 사용하여 실행하고 다음과 같은 결과가했습니다
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'EmailHashBase'. Scan count 17696074, logical reads 53155625, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'ActivityPointerBase'. Scan count 1, logical reads 5060, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
SQL Server Execution Times:
CPU time = 36567 ms, elapsed time = 36562 ms.
은 분명히 EmailHashBase에 문제가 있습니다. 해시 열에 클러스터되지 않은 색인을 추가하고 색인을 다시 작성했지만 여전히 높은 검색 및 논리적 읽기 수를 얻고 있습니다.
쿼리를 변경할 수 없습니다.
이 문제를 해결하기 위해 내가 할 수있는 것에 대한 제안 사항이 있으십니까?
데이터베이스 엔진 튜닝 관리자에서이 쿼리를 실행하고 권장 사항을 확인할 수 있습니까? –
튜닝 조언자를 통해 실행했는데 권장 사항이없고 0 %의 개선이 예상됩니다. – chandley
CRM이 수행중인 쿼리 또는 구현 한 사용자 지정 프로세스의 일부 쿼리? –