需要正确组合Composite键和顺序

时间:2016-08-10 05:14:15

标签: sql indexing composite-primary-key

我有一个HashKey列,我在搜索查询中使用它,但这可能有重复的值。现在我们有ID列,我们把它作为主键。但我想现在改为复合主键

ALTER TABLE Events
ADD CONSTRAINT PK_Events_ID_HashKey PRIMARY KEY (HashKey, ID)

所以我的问题是,如果我在HashKey上搜索,它将充分利用群集索引扫描。我是否需要单独在HashKey列上创建单独的非聚集索引。

我们大多数插入/更新和搜索操作的数量相同

哪一个对性能最有用(考虑插入操作)

1 个答案:

答案 0 :(得分:0)

如果你的查询试图只检索hashkey,那么我建议将它作为单独的索引添加,这也可以避免使用宽聚簇密钥,索引将是低于形式的..

create index nci_test on table(hashkey)

无需添加id列,因为它是主键,也将成为此索引的一部分。

我不会打扰插入或更新性能,直到我可以通过测试可接受的性能水平来结束。