Mam taką prośbę
SELECT
[EstimateId],
[CreationUserId],
[EstimateStatusValueId],
[LanguageId],
[LocationId],
[EstimatorUserId],
[FilterUnitSystemTypeId],
[EstimateNumber],
[RevisionNumber],
[CreationDate],
[ModificationDate],
[ProjectDescription],
[IsBsdq],
[ClosingDate],
[ClosingTime],
[ClosingUpdatedOn],
[DeadLineDate],
[IsReceived],
[Inclusion],
[Exclusion],
[Misc],
[Note],
[WorkDeadLines],
[Comments],
[Validity],
[PlansLocation],
[PlansReceivedFrom],
[Price]
FROM [Estimate].[Estimates]
ORDER BY [ClosingDate] ASC, [ClosingTime] ASC
Kiedy uruchamiam to zapytanie w SSMS, otrzymuję czas wykonania 953ms, ale kiedy uruchamiam to zapytanie z zapytania Linq w moim C #, otrzymuję czas wykonania 1813ms.
Kwerenda Linq używa „.Net SqlClient Data Provider” i jest wydawana przeciwko EntityFramework (plik EDMX). Czy to może być problem?
Czy ktoś wie, dlaczego mam dużą różnicę między czasami wykonania tych żądań, które są takie same, ale są wykonywane z innego kontekstu na tej samej bazie danych?
Sprawdziłem wszystkie plany wykonania obu żądań i używają tego samego indeksu, aby spełnić odpowiednie zapytanie.
Aby zobaczyć plan wykonania żądania C #, używam profilera SQL do przechwytywania zdarzenia Show Plan XML i porównuję go do SSMS i oba są takie same.