Reporting services Microsoft reporting services报告在处理海量数据时花费了太多时间

Reporting services Microsoft reporting services报告在处理海量数据时花费了太多时间,reporting-services,sql-server-2008-r2,Reporting Services,Sql Server 2008 R2,我使用Microsoft SQL reporting进行报告,但面临问题,因为我有大量数据,从10万到100万条记录不等。当我检索记录时,它会连接8个表,所以我想知道Microsoft reporting是否可以处理这么多的数据,因为我读过一些文章,说它会降低性能,或者是否有其他选项,如Crystal Reports或任何其他组件 我的查询位于存储过程中,我将其填入DataSet.xsd中,然后在页面上使用ObjectDataSource将其与报表绑定。 另一件事是我必须在报告中使用图表组件。

我使用Microsoft SQL reporting进行报告,但面临问题,因为我有大量数据,从10万到100万条记录不等。当我检索记录时,它会连接8个表,所以我想知道Microsoft reporting是否可以处理这么多的数据,因为我读过一些文章,说它会降低性能,或者是否有其他选项,如Crystal Reports或任何其他组件

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

我真的怀疑你的用户看到的是100万条记录,甚至是10万条记录,你还提到了图表控件。如果您需要给他们灵活的聚合,请考虑将SQLServer AnalysisServices添加到报表服务器,并从联机数据构建多维数据集。Excel外接程序可以用来处理数字——它非常灵活

也许您需要构建更多的报告和过程来执行特定的筛选或聚合。创建包含这么多行的报告将导致问题


如果你能解释一下你的用户如何处理这些数据,也许会有更好的答案

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

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运行同一查询,并比较两者的执行时间。

查询需要多长时间?还有,有人真的要读取所有1000000行吗?如果没有,那么您应该过滤行,使其更接近所需的内容。我等待了将近5分钟,它不会生成报告,是的,用户可以选择一个条件来查看所有记录。我问的是查询需要多长时间,而不是报告需要多长时间。也许这只是一个需要很长时间才能运行的查询。我同意你的看法。作为数据源,分析服务可以提供很多帮助