通过LINQ或SqlCommand调用慢速SP,但不执行EXECUTE

时间:2011-04-25 21:30:31

标签: asp.net linq performance stored-procedures sqlcommand

我在MS SQL Server中有一个相当复杂的Strored Procedure,它查询大型数据库。我做了很多优化,所以当我用SSMS的EXECUTE调用它时,它运行不到1秒,这已经足够了。

问题是当我使用LINQ或SqlCommand从ASP.NET 3.5调用它时,它在生产服务器上需要几分钟,而服务器负载甚至不高。

我认为它与配置有关,因为开发服务器按预期运行。

生产服务器具有SQL Express 2008 sp2,开发服务器具有SQL Express 2005.我的开发机器具有SQL Express 2008 R2并且运行良好。

我应该检查什么/在哪里?

TY!

1 个答案:

答案 0 :(得分:1)

使用SQL事件探查器进行检查。 LINQ to SQL很可能会遇到Select n + 1问题。

快速浏览一下: http://l2sprof.com/Learn/Alerts/SelectNPlusOne