首页 > 解决方案 > 如何结合索引和列存储索引?

问题描述

我对实施最佳实践感到困惑,我有一个包含很多字段的表,每个字段都需要聚合以用于分析和报告目的,但有时我们还需要获取基于行的记录。

实现 PRIMARY KEY + NON CLUSTERED COLUMNSTORE INDEX 或 NOT NULL UNIQUE NONCLUTERED + 聚集列存储索引会更好吗?

标签: sql-serverindexingclustered-indexnon-clustered-indexcolumnstore

解决方案


这一切都取决于情况;您的数据看起来如何以及您将如何搜索该数据。

每个表肯定需要一个主键。PK 是否需要聚集取决于您是否有更适合放置聚集索引的列。(聚集索引应放置在其值不会更改并逐渐增加的列上,这意味着下一个值应该高于前一个值)。

在哪里放置索引以及索引的类型、索引中列的顺序以及是否需要“包含列”都取决于具体情况,您需要对此进行一些分析。


推荐阅读