StoredProcedure工作速度很快但SSRS工作很慢

时间:2018-03-20 11:32:18

标签: sql-server ssrs-2012

我使用存储过程作为SSRS报告中的数据集。即使存储过程运行得足够快,报告也需要很长时间才能处理。 对于同一组参数,存储过程在4-7秒内给出结果,但SSRS报告大约需要4分钟才能弹出。 来自存储过程的数据很大但不是太大......大约13k。此外,我无法在存储过程中实施分组,因此我在报告中进行分组。然而,即使在删除分组之后,性能也变得更好(比如减少40秒的时间)。 试图找出问题,并愿意讨论它,因为我有2-3个报告的类似问题。 请,任何帮助将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

写入存储过程的方式会影响性能。如果您执行下面的第二个过程,请从您的描述中我相信它会改善表现。

慢速存储过程

CREATE PROC SLOW_PROC (@ID INT)  
AS
BEGIN
  SELECT
     ID 
    ,Name 
    FROM MyTable
WHERE ID =@ID
END

快速存储过程

CREATE PROC FAST_PROC (@ID INT)  
AS
BEGIN
DECLARE @NewID INT SET @NewID=@ID
  SELECT
     ID 
    ,Name 
    FROM MyTable
WHERE ID =@NewID
END

差异可能并不大,但性能却是如此。 我希望这有帮助