我有一张包含所有产品的表格。有3种不同类型的产品,因此它们有自己的表格,比方说ProductType1, ProductType2, ProductType3
。
Products
上的ProductType(n)
和ProductId
之间存在1-1关系,但为了进一步限制子表,使用ProductId, ProductTypeId
的{{1}}存在额外的关系{1}},以及其他每个表格中的Products
。
这可确保只能将产品添加到单个匹配的ProductId, ComputedProductTypeId
表中。
问题是这个。由于ProductType
上的2个表之间已存在关系,而不是使用FK的索引,我是否可以使用唯一键来约束关系,或者这是否会导致性能问题?
产品
ProductId
ProductType(n)的
PK ProductId
FK ProductId, ProductTypeId
^
*Add an index for this or unique key constraint?*
答案 0 :(得分:0)
创建索引将是更好的方法 如果要从主表中删除条目,SQL Server将查找FK关系(如果存在)。因此,在复合键(包括FK)上创建索引将加快该过程。