मेरा एक ऐसा निवेदन है
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 में चलाता हूं तो मुझे 953ms का निष्पादन समय मिल जाता है, लेकिन जब मैं इस क्वेरी को मेरे C # में Linq Query से चलाता हूं तो मुझे 1813ms का निष्पादन समय मिल जाता है।
Linq Query ".net SqlClient Data प्रदाता" का उपयोग करता है और EntityFramework (EDMF फ़ाइल) के खिलाफ जारी किया जाता है। क्या यह एक मुद्दा हो सकता है?
क्या कोई जानता है कि क्यों मैं उन अनुरोधों के निष्पादन समय के बीच एक बड़ा अंतर रखता हूं जो समान हैं लेकिन एक ही डेटाबेस के खिलाफ अलग-अलग संदर्भ से निष्पादित होते हैं?
मैंने दोनों अनुरोधों के सभी निष्पादन योजनाओं को सत्यापित किया और वे अपनी संबंधित क्वेरी को संतुष्ट करने के लिए एक ही सूचकांक का उपयोग करते हैं।
C # अनुरोध के निष्पादन की योजना को देखने के लिए मैं शो प्लान एक्सएमएल ईवेंट को फंसाने के लिए एसक्यूएल प्रोफाइलर का उपयोग करता हूं और मैं इसकी तुलना एसएसएमएस में से एक से करता हूं और दोनों समान हैं।