Sql server 当sql速度很快时,SSRS报告需要很长时间才能加载

Sql server 当sql速度很快时,SSRS报告需要很长时间才能加载,sql-server,reporting-services,ssrs-2012,Sql Server,Reporting Services,Ssrs 2012,我有一个SSRS报告,它有多个报告参数,该报告是主报告中包含的子报告 此子报表要花费大量时间(大约40分钟)才能获取结果。而SQL查询只需要10秒钟 考虑到参数嗅探,我尝试使用OPTION(针对未知优化),但没有成功。我已经花了半天时间尝试各种选项。我跟踪数据库,看看运行报告时到底发生了什么。它可能会为主结果中的每条记录运行子报告。您是否检查了它是否真的在执行,而不是需要一段时间才能呈现?你比较过这两个执行计划吗?嘿,杰里米·萨克斯,回答是。。我在ExecutionLog3中看到报告在timed

我有一个SSRS报告,它有多个报告参数,该报告是主报告中包含的子报告

此子报表要花费大量时间(大约40分钟)才能获取结果。而SQL查询只需要10秒钟


考虑到参数嗅探,我尝试使用OPTION(针对未知优化),但没有成功。我已经花了半天时间尝试各种选项。

我跟踪数据库,看看运行报告时到底发生了什么。它可能会为主结果中的每条记录运行子报告。您是否检查了它是否真的在执行,而不是需要一段时间才能呈现?你比较过这两个执行计划吗?嘿,杰里米·萨克斯,回答是。。我在ExecutionLog3中看到报告在timedataretrieval期间花费了太多时间。我在某个地方读到删除所有不必要的数据集的消息,我也这么做了,但没有运气。@sepupic这两个执行计划是什么意思?您可以建议如何执行此操作?当您从reporting和SSM运行报表时,服务器创建的执行计划明显不同(您之前回答说这不是渲染而是数据检索需要时间),所以您应该让这两个计划进行比较。您可以使用sys.dm_exec_query_stats by query text(交叉应用sys.dm_exec_sql_text)在计划缓存中搜索它们,query stats为您提供计划句柄,并在交叉应用sys.dm_exec_query_plan时获取计划。或者在启动报告时使用探查器