【发布时间】:2012-10-21 02:12:34
【问题描述】:
调用数据访问应用程序块时速度非常奇怪。
它调用的 SP(“QuestionsToBeAnswered”)在不到直接在服务器上执行时为 1 秒。我的 SQL 体验非常好,我确信 SQL 服务器上不存在问题。
但是,当它通过 DAAB 调用时,需要很长时间才能返回对象集合。 ExecuteSprocAccessor(...) 通常返回一个 IEnumerable,并且 SP 直到集合被枚举或以其他方式被消费后才被执行,所以这个问题直到消费发生时才会出现。
DatabaseInstance.ExecuteSprocAccessor<T>(storedProcedure, rowMapper, args);
鉴于相同的代码返回 >200 行相当复杂的信息没有问题,我很困惑为什么这段代码需要这么长时间(55 秒!)来执行。
欢迎任何想法......
【问题讨论】:
-
尝试重新编译存储过程执行计划。
-
@Jack 我已经重新设计了 SP 作为这个问题的一部分(这大大减少了执行时间到
-
我只是想确认一下:这个查询在 ssms 中总是很快,但在 daab 中总是很慢。对吗?
标签: c# performance sql-server-2008-r2 daab data-access-app-block