1

我有一个奇怪的问题,执行返回较小数据集(并且运行速度更快)的查询比执行相同的查询并返回更大的数据集(并且运行时间有时更高)时出现以下错误。

超时已过。在操作完成之前超时时间已过或服务器没有响应。

我将一组选项传递给存储过程。当一组选项不包含会触发更多表连接和较大结果集的选项时,提出了上述异常。我以为我之前已经通过增加连接字符串中的 Connection Timeout 属性解决了这个问题,但情况似乎并非如此。

有谁知道我该如何解决这个问题?我已经通过 SQL 探查器并使用较小和较大的输入运行查询,结果符合预期。使用较小的输入,查询运行速度明显更快(但在客户端超时),使用较大的查询运行速度较慢(但将结果返回给客户端)。

4

1 回答 1

0

仅出于性能的角度,在每个查询中添加with (nolock)以最大程度地减少死锁的机会(我假设有死锁的机会)

于 2010-11-25T05:16:51.467 回答