Query在Query Analyzer中运行速度很快,但在C#应用程序中运行速度较慢



可能的重复:
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中的快?

相关内容

  • 没有找到相关文章

最新更新