Microsoft报告服务报告对大量数据花费了太多时间

时间:2011-08-01 13:45:23

标签: reporting-services sql-server-2008-r2

我正在使用Microsoft SQL报告进行报告但面临问题,因为我有大量数据,从巨大的意思是100000到1000000条记录。当我检索记录时,它加入了8个表,所以我想知道微软报告是否可以使用这些数据,因为我已经阅读了它减慢性能的文章,还是有任何其他选项,如Crystal Reports或任何其他组件?

我的查询在一个存储过程中,我在DataSet.xsd中填充它,然后使用ObjectDataSource在我的页面上使用它将它与报表绑定。 另一件事是我必须在报告中使用图表组件。 我在Asp.Net 4应用程序中使用Sql server 2008 R2标准版本。

2 个答案:

答案 0 :(得分:0)

我真的怀疑你的用户正在关注100万甚至100k的记录 - 你也提到了图表控件。如果您需要为其提供灵活的聚合,请考虑将SQL Server Analysis Services添加到报表服务器并从在线数据构建多维数据集。可以使用Excel加载项来处理数字 - 它很漂亮。

也许您需要构建更多可以进行特定过滤或聚合的报告和过程。创建包含那么多行的报告会导致问题。

如果您能解释用户对所有数据的处理方式,那么可能会有更好的答案。

答案 1 :(得分:0)

您可以运行以下查询以查找:

SELECT Name, TimeDataRetrieval,TimeProcessing,TimeRendering
    , TimeDataRetrieval+TimeProcessing+TimeRendering AS TotalTime,Format,Parameters,username,TimeStart
FROM dbo.ExecutionLog L WITH (NOLOCK)
    INNER JOIN dbo.Catalog R WITH (NOLOCK) ON L.ReportID = R.ItemID
WHERE Name='' -- update parameters for report name
AND Format>'' 
ORDER BY Name

TimeDataRetrieval是查询执行所需的时间。

尝试在同一客户端上从Management Studio运行相同的查询,并比较两者的执行时间。