Bunun gibi bir isteğim var
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
SSMS bu sorguyu çalıştırdığınızda 953ms yürütme süresi olsun, ancak bu sorguyu bir C # Linq Query çalıştırdığınızda 1813 ms yürütme süresi olsun.
Linq Sorgusu, ".Net SqlClient Veri Sağlayıcısı" nı kullanır ve EntityFramework (EDMX dosyası) için yayınlanır. Bu bir sorun olabilir mi?
Herkes aynı istekleri aynı veritabanına karşı farklı bağlamdan yürütmek bu isteklerin yürütme süreleri arasında neden büyük bir fark olduğunu biliyor mu?
Her iki isteğin tüm yürütme planlarını doğruladım ve aynı sorguyu karşılamak için aynı dizini kullanıyorlar.
C # isteğinin yürütme planını görmek için Plan XML olayını yakalamak için SQL profiler kullanın ve SSMS biriyle karşılaştırın ve her ikisi de aynı.