是什么原因导致LINQ to SQL中的Timeout过期SqlExceptions?

Jas*_*ker 15 c# sql-server sql-server-2005 sqlexception linq-to-sql

我的应用程序一直运行到Timeout Expired SqlExceptions.问题是这个查询只需要运行相当长的时间.我无法弄清楚这个异常发生在哪里.这是在数据库服务器上创建的超时还是在我的程序中发生?或者如果两者兼而有之,我该如何确定它是哪一个?

最后,如何延长超时时间?

KM.*_*KM. 15

增加超时= BAD
修复查询=

我不确定所涉及的所有细节,但一般来说,以下适用:

当查询运行缓慢时,请在管理工作室中执行以下操作:

  • 运行SET ShowPlan_All ON
  • 运行您的查询
  • 查看"扫描"一词的输出.你的问题就在那里.

"扫描"=触摸每一行(表格或索引).您想"扫描"电话簿寻找一个号码还是使用索引?

  • 我们尽可能地调整了查询​​.不幸的是,只有通过链接服务器才能加速从200万条记录表中提取15k条记录的过程. (2认同)

Gar*_*ler 10

您可能正在运行DataContext 上的CommandTimeout集.默认为30秒.

您需要做的就是在执行查询之前在DataContext上设置属性.

  • 我该怎么做? (3认同)