느린 실행 쿼리에 문제가 있습니다. SQL Server 프로파일 러를 사용하여 쿼리를 분석했지만 좋은 솔루션을 찾지 못하는 것 같습니다. 느리게 실행되는 이유를 찾았습니다. 전체 데이터 집합을 묻는다면 10 초에 150 행을 반환합니다. 합계와 계산을 추가하면 18 행을 반환하지만 8 분이 걸립니다.느린 실행중인 TSQL 쿼리를 해결하는 방법
SQL 서버 프로파일 러에서 전체 데이터 세트가 약 1 000 000 개의 읽기와 약 82 000 000의 합계 쿼리를 수행한다는 것을 알았습니다. 그러나 어떻게 또는 왜 많은 레코드를 얻었는지 알 수 없습니다. 전체 데이터 집합이 합계 쿼리의 하위 선택이기 때문입니다.
아래 쿼리는 예를 들어하지 실제 쿼리 (실제 쿼리는 노동 조합 하위 쿼리의 모든의를 가지고 있지만 합계 쿼리는 기본적으로 동일)입니다
SELECT Sum(x) * 0.1,
Sum(y),
a
FROM (SELECT x,
y
FROM tx
INNER JOIN ty ON tx.a = ty.a
WHERE x = 1 --this returns 150 rows in 10s
) sub
GROUP BY a -- sum returns 18row 8min
누군가가 좀 더 테스트 나는 나를 도와 드릴까요 해야합니까 아니면 해결책을 테스트 할 수 있습니까?
귀하의 질의 계획 보여주기. –
'SQL 서버 관리 스튜디오 (SQL Server Management Studio) '와'include Execution plans taken'에서 이들 쿼리를 모두 캡슐화하고 포함시켜야합니다. 귀하의 질문 – DrCopyPaste
쿼리가 작동하는지 확인하십시오 - 하위 쿼리에 열이 없습니다. 하위 쿼리를 사용하는 이유는 무엇입니까? – MikkaRin