我有一个调用存储过程的共享数据集。我有多个表使用相同的数据集,并在表本身上有过滤器,只包含某些记录。
是为每个表调用数据集还是只调用一次?
答案 0 :(得分:3)
最简单的方法是运行报告并查看数据库中发生的情况。在此示例中,我使用SQL Server Profiler来查看数据库活动。我已经使用通过Visual Studio运行的简单报告进行了测试。
数据集:
使用两个表,不同的过滤器,相同的数据集报告:
运行报告:
检查SQL Server Profiler中记录的内容:
您可以看到数据集查询仅运行一次。因此,在这种情况下,我们可以说多次引用数据集不会导致多次加载。
使用SSRS总是有风险说这将始终在所有情况下都是如此,但基于这个例子,这似乎是一个不错的选择。