在Management中运行存储过程(查询)需要4-8秒。然而,当通过实体框架在WCF服务中启动时,可能需要超过一分钟的时间。WCF运行在VS 2010与ASP.Net开发网络服务器的调试模式。
实际呼叫
requests = transactionEntities.spRequestsForRescreening(cutoffDate).ToArray();
由于封装在存储过程中的所有SQL代码都不知道如何理解导致这种缓慢的原因。
发布于 2010-08-09 05:04:35
当调用从WCF调用中运行时,您有整整一分钟的时间来调查正在发生的事情。检查sys.dm_exec_requests
并检查WCF请求。有关栏如下:
wait_time
,wait_type
和wait_resource
查看阻塞执行的内容(IO、锁定、资源争用、慢客户端etc)blocking_session_id
查看其他会话阻塞executionsql_handle
,statement_start_offset
和statement_end_offset
以了解SP中哪个语句慢)(交叉应用sys.dm_exec_sql_text
)plan_handle
检查执行计划(交叉应用sys.dm_exec_query_plan
)))
在执行过程中,从SSMS查询窗口对这些值进行多次检查,以了解WCF执行的调用问题是什么以及为什么要花这么长时间。
https://stackoverflow.com/questions/3437370
复制相似问题