1

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

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

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

生产服务器有 SQL Express 2008 sp2,开发服务器有 SQL Express 2005。我的开发机器有 SQL Express 2008 R2 并且性能很好。

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

泰!

4

1 回答 1

1

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

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

于 2011-04-25T23:43:34.850 回答