聚集列存储索引速度慢

Mic*_*ael 0 sql indexing sql-server-2012

我有一个相当大的表,有 400 列和 100,000 行。当我选择所有列时,查询非常慢(~7500ms)。仅在 3 列上设置了主键。我不关心插入/更新的速度,这个表主要用于读取。我正在阅读有关聚集列存储索引如何完美满足我的要求并提高读取性能的信息。

所以我尝试使用聚集列存储索引,速度几乎相同(~7000ms)。我真的期望有更高的改进。我错过了什么吗?

在此输入图像描述

Cyn*_*ker 5

仅选择 400 列中的一部分时,您将看到真正的性能提升。在传统行存储中,当您选择该行时,即使您只选择了几列,也始终必须访问所有列。使用列存储时,如果您只选择了 400 列中的 100 列,则查询速度应该大约快四倍,逻辑读取量为 25%。使用 select * 你不会看到太多的改进。