复合主键和附加索引

时间:2010-12-07 21:44:57

标签: sql-server sql-server-2005

在SQL Server 2005中,我有一个包含两列的表:parent_id (int)child id (int)。我想制作一个复合键,因为我只希望表中每个可能的组合只有一个实例。

大多数搜索操作都会在parent_id字段上完成,有些在child_id字段上,而在两个字段上只有零星的搜索操作。

我计划在parent_id字段上创建一个索引,也可能在child_id字段上创建一个索引。这是有意义的还是SQL Server 2005能够在一列(主要是parent_id)上使用聚簇复合主键进行索引查找,因此索引不是必需/可分配的?

1 个答案:

答案 0 :(得分:16)

使复合主键(parent_id,child_id)强制实施唯一性。 SQL Server可以仅在列或parent_id上使用复合搜索,但它不能仅用于搜索child_id。如果需要,必须在child_id上创建一个单独的索引。