1

我有一张包含所有产品的表格。有 3 种不同类型的产品,所以这些都有自己的表格,比如说ProductType1, ProductType2, ProductType3

ProductsProductType(n)on之间存在 1-1 关系,但为了进一步约束子表,在每个其他表中使用 a in和 aProductId的附加关系。ProductId, ProductTypeIdProductsProductId, ComputedProductTypeId

这确保了只能将产品添加到单个匹配ProductType表中。

问题是这样的。由于 2 表之间已经存在关系ProductId,而不是使用 FK 的索引,我可以使用唯一键来约束关系,还是会导致性能问题?

产品

PK ProductId
FK ProductId, ProductTypeId
 ^
*Add an index for this or unique key constraint?*

产品类型(n)

PK ProductId
FK ProductID, ComputedProductTypeId (fixed int)
4

1 回答 1

0

创建索引将是更好的方法。
如果要从主表中删除条目,SQL Server 会查找 FK 关系(如果存在)。因此,在您的复合键(包括 FK)上创建索引将加快该过程。

于 2012-08-21T11:33:24.577 回答