使用SQL Server 2005,在几个大表上有一个SQL查询,它在程序中超时。但是,当我在查询分析器中运行它时,它会在大约30秒内完成。
为什么会有差异?
答案 0 :(得分:7)
通常这些是SET设置差异,导致不同的计划。在Management Studio中,该过程可能正在使用与创建时相同的相同设置运行。
查看ASP.Net应用程序和SSMS会话的sys.dm_exec_sessions。我猜测至少有一个SET
设置不同。这可能导致不同的计划(最终这归因于参数嗅探),并且应用程序方面通常最终会变得更糟。
有关详细信息,请参阅其他问题:
还阅读了Erland Sommarskog的文章Slow in the Application, Fast in SSMS?