在存储过程或报告本身中对SSRS报告中的记录进行排序的最佳方法是什么?

时间:2014-08-06 09:49:56

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

我需要根据用户在SSRS报告中选择的参数对记录进行排序。这可以通过两种方式完成 1.我们可以在SSRS报告中进行排序 2.或者我们可以在存储过程中对记录进行排序

我想知道在性能方面哪种方式最好

3 个答案:

答案 0 :(得分:1)

直接在存储过程中进行排序通常具有最佳性能,因为在生成查询执行计划时可以考虑这一点。

答案 1 :(得分:0)

groupproperties

如果您的报告中有行组或列组。您可以在没有存储过程的情况下进行自己的排序。

答案 2 :(得分:0)

如技巧10所述: https://www.mssqltips.com/sqlservertip/3659/sql-server-reporting-services-best-practices-for-performance-and-maintenance/

10:在T-SQL查询级别对数据进行排序

在数据源上对大量数据进行排序比在报表处理期间更有效。在查询中使用ORDER BY子句可以在查询级别对数据进行预排序。预排序数据由于其存储在内存中的方式而缩短了报告处理时间。子组中的数据会自动排序,如果不需要排序,可以在tablix / matrix的数据区域中删除排序表达式。

如果数据在报告中排序,则:

对报告效果的影响-中

对报表维护的影响-中


提示17也值得注意:

17:避免在Reporting Services中使用交互式排序

除非用户要求更改报表中数据的排序顺序,否则请避免使用交互式排序按钮。