SSRS 中的性能问题 - 多数据集
Performance Issue in SSRS - Multiple Dataset
我有一个复杂的报告,它从多个表中获取记录。
我在很多地方看到 SSRS 不允许从单个存储过程返回多个数据表,这就是我创建一个存储过程的原因,我创建了六个数据集用于从共享数据集过滤的报告,但是当我运行 下面的查询显示我的程序执行了六次,这可能会导致性能问题。
SELECT TOP 100 *,Itempath,parameters,
TimeDataRetrieval + TimeProcessing + TimeRendering as [total time],
TimeDataRetrieval, TimeProcessing, TimeRendering,
ByteCount, [RowCount],Source, AdditionalInfo
FROM ExecutionLog3 where ItemPath like '%GetServiceCalls%'
ORDER BY Timestart DESC
为了摆脱这个问题,我删除了所有数据集过滤器并在 tablix 上应用了过滤器。之后我可以看到该过程只被调用了一次。但这对性能影响不大。
现在,我面临的问题是如何才能提高 SSRS 报告的性能。
注意:我的查询执行时间为 13 秒,报告执行时间将近 20 分钟。
请帮我解决这个问题。
此致,
达瓦尔
我总是发现大表上的 SSRS 过滤器会永远耗时,而且任何文本通配符的性能都更差。
我的建议是在 SQL 中执行除排序之外的所有 "grunt work",然后在 SSRS 中执行任何排序。
你的部分问题可能是你有一个大数据集并且你正在执行通配符搜索,当你在 like 语句的开头使用通配符时(例如 like '%.. . ).
我有一个复杂的报告,它从多个表中获取记录。
我在很多地方看到 SSRS 不允许从单个存储过程返回多个数据表,这就是我创建一个存储过程的原因,我创建了六个数据集用于从共享数据集过滤的报告,但是当我运行 下面的查询显示我的程序执行了六次,这可能会导致性能问题。
SELECT TOP 100 *,Itempath,parameters,
TimeDataRetrieval + TimeProcessing + TimeRendering as [total time],
TimeDataRetrieval, TimeProcessing, TimeRendering,
ByteCount, [RowCount],Source, AdditionalInfo
FROM ExecutionLog3 where ItemPath like '%GetServiceCalls%'
ORDER BY Timestart DESC
为了摆脱这个问题,我删除了所有数据集过滤器并在 tablix 上应用了过滤器。之后我可以看到该过程只被调用了一次。但这对性能影响不大。
现在,我面临的问题是如何才能提高 SSRS 报告的性能。
注意:我的查询执行时间为 13 秒,报告执行时间将近 20 分钟。
请帮我解决这个问题。
此致,
达瓦尔
我总是发现大表上的 SSRS 过滤器会永远耗时,而且任何文本通配符的性能都更差。
我的建议是在 SQL 中执行除排序之外的所有 "grunt work",然后在 SSRS 中执行任何排序。
你的部分问题可能是你有一个大数据集并且你正在执行通配符搜索,当你在 like 语句的开头使用通配符时(例如 like '%.. . ).