【发布时间】:2019-08-02 07:25:42
【问题描述】:
我有一个要求,我必须合并 5 个 SSRS 报告。所有 5 份报告都有完全相同的参数。目前,我已将所有 5 个 tablix 合并到一个报告中,并创建了一个新的下拉参数,用户可以从中选择特定报告。
我的问题是如何为下拉列表中的 5 个选择中的每个维护 CACHE。所有 5 个 tablix 都有自己的 5 个不同的数据集,它们调用每个存储过程。目前,当从下拉参数中选择不同的报告时,加载报告需要将近 5 分钟。
或将这 5 个报告合并为一个的最佳方式是什么。请帮忙。谢谢。
【问题讨论】:
-
嘿@Alan Schofield - 请帮帮我。
-
tablixs 中有什么?不是让 5 个指向同一个存储过程的数据集使用相同的参数运行,而是让每个表都指向同一个数据集并只运行一次吗?
-
嘿 Chris - 所有 5 个数据集都指向 5 个不同的存储过程。所有 5 个 tablix 都有完全不同的数据,所以我无法合并到一个数据集中。
-
好的,那么您必须研究优化数据库端。查看存储过程的执行计划。他们在做全表扫描吗?如果是这样,他们正在做的查询是否可以通过添加一个或两个索引来删除全表扫描来优化?或者,您的存储过程是否在 Sql Server Management Studio 中运行速度很快,但在 SSRS 中运行速度很慢?你可能有parameter sniffing的案例
-
老实说,对于具有单个数据集的单个报告来说,不可能花费那么长时间。我目前有一个包含大约 15 个数据集的报告——所有数据集都在初始运行时加载,每次运行时间不到 10 秒。这几乎可以肯定意味着您在过程中进行了一些优化以使其更快。出于好奇,您的下拉菜单是如何选择报告的?您是否在同一个报告中包含所有五个 tablix,并且仅根据参数显示/隐藏?
标签: caching reporting-services ssrs-2008 ssrs-tablix