LINQ选择查询结果超时

时间:2010-11-18 21:38:41

标签: sql-server linq performance

如果我从SQL Server Management Studio(已经暗示它是MSSQL数据库)运行它,那么我有一个Select运行大约需要10秒的查询。 Select查询适用于具有几个连接的视图,这就是执行原始SELECT语句大约需要10秒的原因。

然而,等效的LINQ语句最终会出现超时异常。为什么会发生这种情况以及如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我曾经有类似的情况,从SSMS调用时,存储的程序执行大约需要1秒钟,但是从前端应用程序调用时,相同的程序(具有相同的参数)会超时。我运行SQL分析器,看到我从前端调用存储过程时获得了不同的执行计划,而不是从SMSS运行sproc时获得的执行计划。(到目前为止我不知道为什么会发生这种情况)

因此,只需尝试运行SQL事件探查器,以查看查询优化器是否由于某种原因在使用LINQ执行查询时选择了不同的查询计划。 (您需要更改分析器中的标准选项以使其显示查询计划)

答案 1 :(得分:0)

默认情况下,

ARITHABORT在SSMS中为ON,默认情况下为SqlClient连接为OFF。

看看这是否解决了您的问题:

new SqlCommand("SET ARITHABORT ON", connection).ExecuteNonQuery();