정말 느리게 실행되는 LINQ to Entity 쿼리가 있습니다. 이 쿼리는 특정 데이터베이스에 대한 계산 논리를 수행 한 다음 그 결과를 ViewModel에 전달합니다. 쿼리의 맨 아래에 4 개의 select 문을 추가 할 때까지 쿼리가 정말 빨랐습니다. 결과 응답 컬렉션을 반환하려면 select 문이 필요합니다. 이렇게 쿼리가 이렇게 느리게 실행되는 이유는 무엇입니까? 나 여기 정확히 무엇이 잘못 당신에게,하지만 ORMS와 유사한 문제에 직면 한 모든, 내가 SQL 문이 실제로 발생하는 어떤 문제를 디버깅하는 가장 좋은 방법은 찾을 것을 제안 할 수 있습니다에 대한Linq to Entity 쿼리가 매우 느립니다.
var data = from SurveyResponseModel in db.SurveyResponseModels
group SurveyResponseModel by SurveyResponseModel.MemberId into resultCount
select new ResultsViewModel()
{
YesBarriersOthersResult = resultCount.Select(r => r.YesBarriersOthers),
NoBarriersOthersResult = resultCount.Select(r => r.NoBarriersOthers),
TotalResponsesResult = db.SurveyResponseModels.Count(),
};
return View(data);
실제 SQL 명령을 확인합니다. 일부 쿼리가 여러 번 실행되거나 EF가 일부 미묘한 하위 쿼리를 작성했을 수 있습니까? –
좋은 조언입니다. 개발을 위해 SQLCOmpact 에디션을 사용했지만 SQL Server 2008R2로 전환 한 후 훨씬 빨라졌습니다. – user547794