Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 提高Microsoft Reporting Services中的列分组速度_Reporting Services_Pivot - Fatal编程技术网

Reporting services 提高Microsoft Reporting Services中的列分组速度

Reporting services 提高Microsoft Reporting Services中的列分组速度,reporting-services,pivot,Reporting Services,Pivot,我正在做一个大型应用程序,我在报告中使用列分组。不幸的是,性能慢得可怜,我的客户对此表示不满。例如,如果他们在24小时内运行报告,则需要约10分钟才能返回约800个显示页面的数据。如果他们运行一个月,它可能永远不会回来 24小时内的查询本身将在约20秒后返回。时间的平衡点是数据透视和生成报告 你对我能做什么有什么建议吗 谢谢 检查以确保您在报告端而不是查询端进行排序。这可以加快速度。在报表中对组进行排序或按聚合值进行排序比在查询中简单得多,而且通常效率也更高 看看这些加速性能的技巧。 Repor

我正在做一个大型应用程序,我在报告中使用列分组。不幸的是,性能慢得可怜,我的客户对此表示不满。例如,如果他们在24小时内运行报告,则需要约10分钟才能返回约800个显示页面的数据。如果他们运行一个月,它可能永远不会回来

24小时内的查询本身将在约20秒后返回。时间的平衡点是数据透视和生成报告

你对我能做什么有什么建议吗


谢谢

检查以确保您在报告端而不是查询端进行排序。这可以加快速度。在报表中对组进行排序或按聚合值进行排序比在查询中简单得多,而且通常效率也更高

看看这些加速性能的技巧。
Reporting Services在创建报告时分为三个阶段:

数据检索执行查询以返回数据集结果 处理分组和聚合返回的数据,根据 报告布局 生成所选输出的渲染,例如。 HTML、Excel 如果查询在大约20秒内返回数据,但报表渲染需要10分钟,那么主要问题在于报表处理的速度。正如您正确地假设的那样,渲染很少是性能瓶颈。提高性能的最佳方法是,通过重新编写查询在源数据库中进行聚合,将尽可能多的聚合卸载到源数据库中。数据库平台聚合数据的速度通常比报表服务快得多。理想情况下,您希望返回报表所需的最小数据量,以便尽可能少地进行处理

如果您有权访问ReportServer数据库,请运行此查询以确认瓶颈在何处:

SELECT ItemPath, Format, TimeStart, TimeEnd, TimeDataRetrieval, TimeProcessing, TimeRendering, [Status], ByteCount, [RowCount] 
FROM ExecutionLog3
WHERE ItemPath LIKE '%My Report Name%'

TimeDataRetrieval、TimeProcessing和TimeRendering应该让您清楚问题所在。如果问题在于时间处理,请尝试重写查询,以减少报告的数据量,并查看是否存在任何问题。

感谢您的建议。。。报表处理的主要问题是使用列组以及与这些组相关联的数据透视。我在关联的存储过程中重新编写了pivot查询,但是性能下降得太低,我甚至无法计算出查询数据所需的时间;在查询返回之前,我放弃了它!我既使用了PIVOT命令,也手动执行了PIVOT。查询实际上非常简单,除了结果集的数据透视之外,没有太多工作要做。这是一个两表内部连接-没有什么不寻常的。然而,报告中有很多逻辑。颜色编码单元格、基于其他字段显示/隐藏列、超链接等。与列分组本身相比,这些因素有多大影响?您知道此服务器上其他报表的性能吗?只是想弄清楚你是有服务器问题还是报表问题。添加隐藏行等功能确实会使报表的渲染更加复杂,但根据我的经验,渲染的时间不会明显延长。总时间的大部分通常是数据检索,因此这在我的经验中是不寻常的。您可能需要使用相同的数据集启动一个新报告,然后添加一个简单的表或矩阵并测试渲染时间,添加更多的格式并每次重新测试速度,以找出瓶颈所在。