列存储索引中的列顺序重要吗?

Vin*_*lla 14 index database-design sql-server sql-server-2012 columnstore

我有一个包含约 2 亿行和约 15 列的表。我打算COLUMNSTORE在我的表上创建一个索引。

根据我在列存储索引中使用的列顺序,性能是否会有任何变化?如果是,其背后的逻辑是什么?

Aar*_*and 20

不,顺序无关紧要。每列都被单独考虑。

来自 SQL Server 团队(强调):

通常,您需要将表中的所有列放入列存储索引中。 您列出列的顺序无关紧要,因为存储索引不像 B 树索引那样具有键。在内部,数据将自动重新排序以获得最佳压缩。