我们在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分钟后出现。
发生了什么,以及如何改善实际执行时间?
答案 0 :(得分:0)
您呈现的格式是什么?你在浏览器中查看行吗? SSRS引擎渲染和绘制53K行需要相当长的时间。
以下是一些建议: 您可以使用分页 - 一次只显示几行?如Tyron所建议的那样,更改数据源以一次从临时表中选择一行 您是否尝试过使用报告进程缓存?这有助于缩短处理时间
我在这篇文章中描述了一个例子: SSRS with custom paging
答案 1 :(得分:0)
随着一些建议的出现,我得知问题是总行数,然后按日期分组。
所以我分2步进行了溶解: 我对所有结果都做了一个诱惑 我总结了表中的数据而不是SSRS
这样做我有1分钟的报告呈现。
感谢大家的帮助!