2010-11-25 60 views
1

我遇到一个奇怪的问题,当执行一个查询时返回一个较小的数据集(并且运行速度比执行相同的查询并让它返回一个更大的数据集(以及运行时有时会更高)。“更快”查询的SQL超时错误

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

我正在将一组选项传递给sproc。当这组选项不包括会触发更多表连接和更大结果集的选项时,会引发上述异常。我以前通过增加连接字符串中的Connection Timeout属性解决了这个问题,但似乎并非如此。

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

回答

0

只是性能上来看,与(NOLOCK)添加与每个查询,以尽量减少死锁的机会(我假设有死锁的机会)

+0

我敢肯定,指令已经在那里了。这很奇怪,因为在SQL Management Studio中超时的查询比不超时的查询运行得更快。 – illvm 2010-11-29 20:05:47