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