我创建了一个SSRS报告,用于使用存储过程检索55000条记录.从Stored Proc执行时只需3秒钟,但从SSRS报告执行时需要超过一分钟.我怎么解决这个问题?
额外的时间可能是由于Reporting Services除了查询数据外还呈现报告.例如,如果为报告返回了55,000行,则报表服务器必须对这些行进行分组,排序和/或过滤以呈现报表,这可能需要额外的时间.
我将查看数据在报表中的分组和过滤方式,然后查看存储过程以查看是否可以将某些处理卸载到SQL代码中,可能使用一些参数.尝试并且旨在将返回到报表的行数减少到呈现报表所需的最小值,并且最好尽量避免在报表本身中进行分组和过滤.
因为我的SP中的参数嗅探,我遇到了这样的问题.在SQL Management Studio中,当我运行我的SP时,我使用新的执行计划重新创建它(并且调用速度非常快),但我的报告使用了旧的错误计划(对于另一个参数序列),并且加载时间比在SQL MS中长得多.