需要复合键和顺序的正确组合

Need right combination of Composite key and order

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

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

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

我们执行的 inserts/Update 和搜索操作的数量基本相等

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

如果您的查询试图仅检索哈希键,那么我建议将其添加为单独的索引,这也将避免宽聚集键,索引将采用以下形式..

create index nci_test on table(hashkey)

不需要添加 id 列,因为它是主键并且也是该索引的一部分..

我不会担心插入或更新性能,直到我可以通过测试得出可接受的性能水平的结论..