从C#VS SSMS执行相同的请求会产生不同的执行时间
我有这样的要求 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查询中运行此查询时,我的执行时间为1813ms。 Linq查询使用“ .Net SqlClient数据提供程序”,并针对EntityFramework(EDMX文件)发出。这可能是一个问题吗? 有谁知道为什么我在相同请求但针对同一数据库从不同上下文执行的那些请求的执行时间之间有很大差异? 我验证了两个请求的所有执行计划,并且它们使用相同的索引来满足各自的查询。 为了查看C#请求的执行计划,我使用SQL事件探查器捕获了Show Plan XML事件,并将其与SSMS之一进行比较,并且两者相同。