我正在尝试执行一份 SSRS 2005 报告。该报告采用一个参数。如果我不使用参数并直接写入值,那么它将在 10 秒内运行。例如。
Select * from table1 where id = 122
如果我使用参数,则需要很长时间,例如 10 到 15 分钟
Select * from table1 where id = @id
我不知道为什么会发生这种情况。
提前致谢。
我正在尝试执行一份 SSRS 2005 报告。该报告采用一个参数。如果我不使用参数并直接写入值,那么它将在 10 秒内运行。例如。
Select * from table1 where id = 122
如果我使用参数,则需要很长时间,例如 10 到 15 分钟
Select * from table1 where id = @id
我不知道为什么会发生这种情况。
提前致谢。
1)尝试用连接逻辑替换您的子查询。尽量做到最好。我知道很多时候子查询感觉更合乎逻辑,因为当我们在宏观视图中思考[这个结果集]得到[那个结果集]时,它使问题流过。2)也可以放索引。而且由于它的 int 会更快。
不可能回答所问的问题:只有您有信息来确定为什么事情表现不佳。
然而,我们可以做的是回答“如何调查 SSRS 性能问题?”这个问题。到目前为止,我发现的最好的工具之一是使用 ReportServer 目录数据库中的ExecutionLog2 视图。在您的情况下,要查看的重要列:
这将为您提供进一步调查的起点。最有可能(根据您的描述)我猜问题出在第一位。一个合适的后续步骤是分析 SSRS 执行的查询,可能使用执行计划。