【发布时间】:2012-09-11 01:47:14
【问题描述】:
使用 SQL Server 2005,在几个大表上有一个 sql 查询,它在程序中超时。但是,当我在查询分析器中运行它时,它会在大约 30 秒内完成。
为什么不一样?
【问题讨论】:
-
你的意思是 Management Studio,对吧,不是 Query Analyzer?
标签: sql-server sql-server-2005 ssms query-analyzer
使用 SQL Server 2005,在几个大表上有一个 sql 查询,它在程序中超时。但是,当我在查询分析器中运行它时,它会在大约 30 秒内完成。
为什么不一样?
【问题讨论】:
标签: sql-server sql-server-2005 ssms query-analyzer
通常这些是 SET 设置差异,导致不同的计划。在 Management Studio 中,该过程可能在其创建时使用相同的设置运行。
查看您的 ASP.Net 应用程序和 SSMS 会话的 sys.dm_exec_sessions。我会冒险猜测您的SET 设置中至少有一个是不同的。这可能会促成不同的计划(最终这归因于参数嗅探),并且应用程序端通常会变得更糟。
有关更多详细信息,请参阅这些其他问题:
还可以阅读 Erland Sommarskog 的文章,Slow in the Application, Fast in SSMS?
【讨论】: