我有一个HashKey列,我在搜索查询中使用它,但这可能有重复的值。现在我们有ID列,我们把它作为主键。但我想现在改为复合主键
ALTER TABLE Events
ADD CONSTRAINT PK_Events_ID_HashKey PRIMARY KEY (HashKey, ID)
所以我的问题是,如果我在HashKey上搜索,它将充分利用群集索引扫描。我是否需要单独在HashKey列上创建单独的非聚集索引。
我们大多数插入/更新和搜索操作的数量相同
哪一个对性能最有用(考虑插入操作)
答案 0 :(得分:0)
如果你的查询试图只检索hashkey,那么我建议将它作为单独的索引添加,这也可以避免使用宽聚簇密钥,索引将是低于形式的..
create index nci_test on table(hashkey)
无需添加id
列,因为它是主键,也将成为此索引的一部分。
我不会打扰插入或更新性能,直到我可以通过测试可接受的性能水平来结束。