为什么ssrs 2005报告在使用参数时需要很长时间才能执行?

时间:2012-07-31 23:10:43

标签: sql-server reporting-services reportingservices-2005

我正在尝试执行一份SSRS 2005报告。此报告采用一个参数。 如果我不使用参数并直接写入值,那么它将在10秒内运行。例如

Select * from table1 where id = 122

如果我使用参数,则需要很长时间,如10到15分钟,如

Select * from table1 where id = @id

我不知道为什么会发生这件事。

提前致谢。

2 个答案:

答案 0 :(得分:0)

根据要求回答问题是不可能的:只有有信息来确定事情表现不佳的原因。

我们可以做的是回答“如何调查SSRS性能问题?”的问题。到目前为止,我发现的最好的工具之一是使用ReportServer目录数据库中的ExecutionLog2 View。在您的情况下,要查看的重要列:

  • TimeDataRetrieval,用于连接数据源和检索数据行的时间
  • TimeProcessing,用于将数据行转换为报告的时间
  • TimeRendering,用于创建最终输出所花费的时间(pdf,html,excel等)

这将为您提供进一步调查的起点。最有可能(根据你的描述)我猜测问题出在第一位。一个合适的后续步骤是分析SSRS执行的查询,可能使用执行计划。

答案 1 :(得分:0)

1)尝试用连接逻辑替换子查询。尽可能好。我知道很多次子查询感觉更合乎逻辑,因为当我们在宏观视图中思考时,它会使问题流动[这个结果集]得到[结果设置出来]。 2)也可以放索引。而且因为它的int会更快。

相关问题