我有一个需要创建的报告存在严重的性能问题。我需要在我们的数据库中创建所有课程的目录。这是简化的数据模型:
组织单元 --> 包含多个课程 --> 其中包含多个活动;每个活动包含以下内容:
- 附加链接列表
- 先决条件活动列表
- 附加属性-值对列表(编目信息)
- 每种资源类型所需资源类型和数量的列表
- 培训目标清单
我希望创建一个报告,将所有内容分组,看起来像这样:
在创建将所有表连接在一起的简单查询后,我得到了近 600 万行,因为由于将活动表与所有 1 多关系表连接以获取附加的链接资源等而发生了不同的笛卡尔积......
我想通过几种方式避免这种情况:
- 子报告将列出每个活动的不同项目列表。
- 为上述列表中的每一个创建一个 XML 字段,并在我的报告中使用 VB 对其进行解析
- 在报表中使用多个数据集,并以某种方式使用查找函数来列出不同的值。
到目前为止的结果:
- 子报告在性能方面被证明是非常低效的,它比原来的 600 万行查询多 50%。
- xml 字段在 DB 方面非常有效,但使用 VB 格式化数据会很麻烦,如果可能的话,我非常希望避免这种情况,
- 我似乎找不到正确的方法来使用 lookupSet 来获取附件名称列表及其旁边的链接。
所以我的问题是:
- 在处理大量数据和 SSRS 2008-r2 时显示具有大量一对多关系的实体时,最佳实践是什么?
- 有没有一种方法可以使用查找功能连接数据并以某种方式创建“嵌套表”来列出一对多关系
- 任何其他建议将不胜感激。