Eu tenho um pedido como este
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
Quando executo essa consulta no SSMS, obtenho um tempo de execução de 953ms, mas quando executo essa consulta em uma Consulta Linq no meu C # recebo um tempo de execução de 1813ms.
A consulta Linq usa o ".Net SqlClient Data Provider" e é emitida no EntityFramework (arquivo EDMX). Isso pode ser um problema?
Alguém sabe por que eu tenho uma grande diferença entre os tempos de execução das solicitações iguais, mas executadas em diferentes contextos no mesmo banco de dados?
Eu verifiquei todos os planos de execução de ambos os pedidos e eles usam o mesmo índice para satisfazer suas respectivas consultas.
Para ver o plano de execução da solicitação C #, uso o criador de perfil SQL para interceptar o evento Show Plan XML e comparo-o ao do SSMS e ambos são iguais.