改进SSRS报告执行

时间:2016-08-24 19:59:52

标签: sql-server reporting-services

我们在Management Studio中有一个在0:07秒内执行的SQL语句,它是一个返回一些数据的查询,如:

[Company Department] - [Exprense Type] - [Year/Month] - [Foreseen Budget] - [Expenses]

结果是53k行。在数据集(Budget - Expenses)上创建一个计算字段。

在SSRS报告中,我们有一个显示数据的矩阵:

Columns: [Year/Month] (Group)
         [Foreseen Budget] [Expenses] [Foreseen Budget - Expenses]

Lines: [Company Department][Expense Type]

当我尝试生成报告时,我在SSRS中获得了5分钟。

在日志中我得到:

TimeDataRetrieval:440   
TimeProcessing: 8056
TimeRendering:39603
Start Time: 2016-08-24 16:40:26.030
End Time: 2016-08-24 16:41:14.220

它在SSRS中是1分钟,这是可以接受的,但在实际执行中,报告仅在5分钟后出现。

发生了什么,以及如何改善实际执行时间?

2 个答案:

答案 0 :(得分:0)

您呈现的格式是什么?你在浏览器中查看行吗? SSRS引擎渲染和绘制53K行需要相当长的时间。

以下是一些建议: 您可以使用分页 - 一次只显示几行?如Tyron所建议的那样,更改数据源以一次从临时表中选择一行 您是否尝试过使用报告进程缓存?这有助于缩短处理时间

我在这篇文章中描述了一个例子: SSRS with custom paging

答案 1 :(得分:0)

随着一些建议的出现,我得知问题是总行数,然后按日期分组。

所以我分2步进行了溶解: 我对所有结果都做了一个诱惑 我总结了表中的数据而不是SSRS

这样做我有1分钟的报告呈现。

感谢大家的帮助!