【发布时间】:2014-11-18 03:25:58
【问题描述】:
我有一个调用存储过程的共享数据集。我有多个表,它们使用相同的数据集,并且表本身有过滤器,只包含某些记录。
是为每个表调用数据集还是只调用一次?
【问题讨论】:
-
当您说共享数据集时,您是指部署在报表服务器上的实际共享数据集,还是由多个报表项共享的报表内部的数据集?
标签: reporting-services ssrs-2008-r2
我有一个调用存储过程的共享数据集。我有多个表,它们使用相同的数据集,并且表本身有过滤器,只包含某些记录。
是为每个表调用数据集还是只调用一次?
【问题讨论】:
标签: reporting-services ssrs-2008-r2
最简单的做法是运行报告并查看数据库中发生的情况。在此示例中,我使用 SQL Server Profiler 查看数据库活动。我已经使用通过 Visual Studio 运行的简单报告进行了测试。
数据集:
报告包含两个表、不同的过滤器、相同的数据集:
运行报告:
检查 SQL Server Profiler 中记录的内容:
您可以看到数据集查询只运行了一次。所以在这种情况下,我们可以说多次引用数据集不会导致它被多次加载。
对于 SSRS,说在所有情况下总是都是如此总是有风险的,但根据这个例子,这似乎是一个不错的选择。
【讨论】: