我在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!
答案 0 :(得分:1)
使用SQL事件探查器进行检查。 LINQ to SQL很可能会遇到Select n + 1问题。