【发布时间】:2014-07-08 14:17:20
【问题描述】:
我正在使用 SSRS 2008,想获得一些关于处理多个结果集的最佳实践的建议。
我有一个存储过程,它返回 4 个相关数据的结果集,但是每个结果集返回的记录数不同。当然,在 SSRS 中只处理第一个结果集,所以据我所知,我有 2 个选项:
- 创建 4 个不同的存储过程,它们返回 4 个不同的数据集
- 将所有 4 个结果集插入一个临时表并返回该表中的结果。
第一个选项的问题是 4 个结果都来自相同的基本数据(进入临时表),然后与其他表/数据连接/分组。因此,将它们拆分为单独的存储过程似乎会给 DB 带来比单个存储过程更大的压力。
第二种方法的问题是我必须将相同的数据集包含到 SSRS 中 4 次,每次都提取不同的结果集并过滤掉正确列上的空值。
例如,假设我有 4 个结果集,每个结果集返回 4 列和 4 条记录。前 4 列和前 4 条记录与第一个结果集相关(其余列为空)。第二个结果集仅填充第 5-8 列和第 5-8 列等。
问题是,哪种方式更有效?在 SSRS 中多次使用多个存储过程或 1 个存储过程?谢谢!
【问题讨论】:
-
如果列匹配,您可以将结果与每个列上的附加列合并以标记它来自哪个结果集
标签: sql sql-server stored-procedures reporting-services ssrs-2008