在主机上运行相同的LINQ查询非常慢

时间:2014-07-08 17:07:20

标签: c# sql-server linq entity-framework linq-to-entities

我的客户有问题,因为操作超时,他不能在我的系统上使用2个功能。

所以我请他在我的开发机器上恢复数据库备份以进行测试。在开发机器上它运行得非常快,没有超时。

我的系统正在使用EF连接到数据库。

在我的开发机器上运行的第一个函数不到1秒,但在客户的服务器上是超时(对于此函数,超时设置为30秒)。

在我的开发机器上运行的第二个函数大约是60秒,但在客户的服务器上是超时(对于此函数,超时设置为300秒)。

我通过使用'SQL Server Profiler'来捕获发送到SQL Server的语句进行测试,然后我通过使用SqlCommand发送捕获的语句,它并不慢,时间使用几乎是我的开发机器。

我不知道为什么,配置是否有任何错误可以使这件事发生。

任何想法,谢谢

1 个答案:

答案 0 :(得分:1)

我可以考虑尝试三件事:

  1. 如果要还原到较新版本的SQL,则还原时会更新统计信息。让客户在被击中的表上运行UPDATE STATISTICS
  2. 查看服务器规格和任务管理器 - >资源监视器会查看是否有任何事情发生。
  3. 这可能是他们网络上的环境问题。检查客户端和服务器之间的网络吞吐量。