Sql server 如果您只想从关系的一侧加入,是否仍然建议使用连接表?

Sql server 如果您只想从关系的一侧加入,是否仍然建议使用连接表?,sql-server,database-design,Sql Server,Database Design,我有一个数据库设计,其中有一个。5个可筛选的实体。目前,这些表都有自己的筛选表,例如product表有productfilter表,customer表有customerfilter表 我做了一些研究,因为性能(如查询数据库的速度)是最重要的质量属性,我想知道拥有一个过滤器表并将依赖它的实体与连接表连接是否是一个更好的选择 重要提示:只有在使用连接表时,才会从客户或产品实体连接过滤器 编辑: 1:不带连接表 2:带连接表 您能发布您的预期数据库设计吗?过滤器是否跨越不同的实体(即,能否在单个查询

我有一个数据库设计,其中有一个。5个可筛选的实体。目前,这些表都有自己的筛选表,例如product表有productfilter表,customer表有customerfilter表

我做了一些研究,因为性能(如查询数据库的速度)是最重要的质量属性,我想知道拥有一个过滤器表并将依赖它的实体与连接表连接是否是一个更好的选择

重要提示:只有在使用连接表时,才会从客户或产品实体连接过滤器

编辑:

1:不带连接表

2:带连接表


您能发布您的预期数据库设计吗?过滤器是否跨越不同的实体(即,能否在单个查询中针对产品和客户运行过滤器)?我添加了预期数据库设计的图像。至于在一个查询中对多个实体运行一个过滤器,我认为这是没有必要的。可能的重复在工程中没有“更好”/“最好”这样的东西,除非您定义它。同样不幸的是,所有合理的实用定义都需要大量的经验,其中包含大量的因素,这些因素与对细节的敏感度混乱相互作用。做简单的设计。当你通过测量证明一个设计和你能想到的所有备选方案都有问题(无论当时是什么意思),然后问一个非常具体的问题。还应定义“更好”/“最佳”。表——基本变量和查询结果——表示关系(ship)和关联。FKs虽然有时被错误地称为关系,但它是对允许完整性和优化的状态的约束。约束不需要保留、声明或查询已知。PS请仅将图像用于无法用文本表示的内容。您可以发布您的预期数据库设计吗?过滤器是否跨越不同的实体(即,能否在单个查询中针对产品和客户运行过滤器)?我添加了预期数据库设计的图像。至于在一个查询中对多个实体运行一个过滤器,我认为这是没有必要的。可能的重复在工程中没有“更好”/“最好”这样的东西,除非您定义它。同样不幸的是,所有合理的实用定义都需要大量的经验,其中包含大量的因素,这些因素与对细节的敏感度混乱相互作用。做简单的设计。当你通过测量证明一个设计和你能想到的所有备选方案都有问题(无论当时是什么意思),然后问一个非常具体的问题。还应定义“更好”/“最佳”。表——基本变量和查询结果——表示关系(ship)和关联。FKs虽然有时被错误地称为关系,但它是对允许完整性和优化的状态的约束。约束不需要保留、声明或查询已知。PS请仅将图像用于无法表示为文本的内容。