2014-01-07 2 views
4

Linqpad에서 EF5에 대해 실행되는 Linq 쿼리가 있는데 약 10 초가 걸립니다. 해당 문에 대해 생성 된 SQL을 SMS로 복사하면 2 초 이내에 실행됩니다.Linqpad 성능 대 Sql Management Studio

분명히 EF는 서버가 아닌 내 컴퓨터에서 직접 SQL 및 LinqPad가 실행되는 것보다 더 많은 처리 오버 헤드를 추가합니다. 그래서 조금 더 느릴 것으로 기대합니다.

하지만 병목 현상을 식별 할 수 있도록 쿼리의 Linqpad 및 EF 실행 단계를 추적 할 수있는 방법이 있습니까?

감사합니다.

+0

Linqpad에서 생성 된 SQL을 실행하면 어떻게됩니까? – sgmoore

+0

생성 한 LINQ가 쿼리와 정확히 일치합니까? LINQ를 사용할 때 인덱스를 놓칠 수있는 방식으로 쿼리 할 수있는 것처럼 들립니다. –

+0

안녕하세요 @ sgmoore, skeej 응답하지 않는 것,하지만이 다시 만들 수 있습니다 및 SQL Linq에 의해 생성 된 SQL 사용하여 빠르게 실행되지만 linqpad linq 자체가 느리게 실행됩니다. 말하기를 멈추지 않고 실행하는 것을 계속합니다. 그것은보기를 사용하고 있으므로 그것이 효과가 있는지 궁금해. –

답변

0

trial version of Ants Profiler을 사용하고 linqpad 코드를 일부 테스트 콘솔 응용 프로그램으로 이동할 수 있습니다.

LINQ 쿼리 생성이 값 비싼 절차이기 때문에 SQL 쿼리가 LINQ보다 빠릅니다. 공정한 비교를하려면 compile the LINQ query을 시도하고 두 번째 실행을 순수 SQL과 비교하십시오. LINQ는 여전히 느려질 것입니다 (LINQ는 질의를 실행하는 것보다 훨씬 더 많은 일을합니다). 그러나 차이는 그보다 작아야합니다.

관련 문제