可能的重复:
sql在ssms中运行速度快,在asp.net 中运行速度慢
使用SQLServer2005,在几个大表上有一个SQL查询,它在程序中超时。但是,当我在Query Analyzer中运行它时,它大约在30秒内完成。
为什么有区别?
通常这些都是SET设置的差异,导致不同的计划。在Management Studio中,该过程可能使用与创建时相同的设置运行。
查看ASP.Net应用程序和SSMS会话的sys.dm_exec_sessions。我大胆猜测,您的SET
设置中至少有一个不同。这可能会导致不同的计划(最终这归因于参数嗅探),而应用程序端通常会变得更糟
有关更多详细信息,请参阅以下其他问题:
- 从web调用存储过程时速度较慢,从Management Studio调用时速度较快
- 过程从ADO.NET超时,但不在SSMS中
- 从web执行查询时超时,但从SSMS执行查询时速度极快
- NET与SQL Server Management Studio之比较-ADO表现更差
- sql在ssms中运行速度快在asp.net中运行速度慢
还可以阅读Erland Sommarskog的文章《应用程序中的慢,SSMS中的快?