【发布时间】:2011-09-26 18:58:37
【问题描述】:
我需要一些帮助来为我的一堆表构建基本的 SQL-VIEW。这是一个快速概述
- 我有一个 ClaimDetail 表,它有一些查找字段,如 StatusID、BrandID、SalespersonID 等。
- 与往常一样,查找字段映射到 MasterStatus、MasterBrand 等主表... {Structure: ID, Title}
- 还有另外两个表 Comments 和 Files。一个声明可以有多个评论和多个文件。
- 我需要显示一个仪表板,该仪表板将是一个索赔列表。我需要显示主表中的标题以及 cmets 和文件的数量。
现在,我有此仪表板的两个视图,一个用于客户类型的用户,仅限于某些细节,另一个是用于内部用户的详细视图。您可以说客户视图是内部视图的子集。
我看到两个选项 -
- 选项#1:创建一个单一的 vw_Internal 视图和 使用它来获取数据 用户。
- 选项#2:我创建了一个 vw_Customer 其中只有那些领域 客户需要,并且 然后我创建一个 vw_Internal 就像:vw_Customer INNER JOIN 主表。简而言之,我将扩展 要包含的基本 vw_Customer 更多字段。
从速度和性能的角度来看,选项#2 是否有意义?选项#1 很简单,但考虑到大量记录,我想确保客户不必为那些不会包含在他们的仪表板中的额外查找等待更长的时间。
最后,有没有办法实现我提到的最后一个功能?这就是获取与 ClaimDetail 表具有一对多关系的 Comments 和 Files 的计数。我只需要计数或至少一个布尔字段,说明索赔是否有任何评论(文件相同)-如果计数 = 0,则为假。我也担心此功能对性能的影响.
提前致谢。
【问题讨论】:
标签: sql-server performance join outer-join sql-view