IQueryable<WebEvent> mySearch =
eventDC.GetBooks()
.Where(p => p.Price.Any(d => d.EventDatetime.Month == fromDate.Month
&& d.EventDatetime.Year == fromDate.Year))
.WithGroup(groupId)
.OrderBy(p => p.Price.Where(r => r.Datetime >= fromDate)
.OrderBy(q => q.Datetime)
.FirstOrDefault().Datetime);
List<Book>ventsList = mySearch.ToList<Book>();
우리는 그러한 긴 쿼리를 가지고 있으며, 테스트를 마친 후에 책을 읽고 정렬하는데 많은 시간을 소비합니다.이 쿼리를 포함하는 페이지에 대한 응답 시간이 10 초를 초과했으며, 응답 시간을 줄일 수 있습니다.응답 시간을 줄이기 위해 어떻게이 linq를 엔터티 쿼리에 최적화 할 수 있습니까?
누구에게 의견이 있습니까?
우리는 스크롤 할 필요가 없기 때문에 * 가독성 *을 최적화 할 수 있습니다. 시작점으로 ... 생성 된 SQL 및 이상적인 쿼리 실행 계획과 병목 현상을 어떤 형태로 게시하는 것이 좋습니다. –
linq를 엔티티에 사용하면 생성 된 SQL을 어떻게 얻을 수 있습니까? – MemoryLeak
'ObjectQuery.ToTraceString()'또는 SQL 프로필러. LINQPad도 여기에 도움이됩니다. –