0

例如有一个包含列的表:ColumnA、ColumnB、ColumnC、ColumnD

并且有几个带有 where 子句的选择:

ColumnA, ColumnB, ColumnC
ColumnA, ColumnC, ColumnD
ColumnA, ColumnB, ColumnD

目标是加速这些查询。但我不想为所有列组合创建多列索引,因为它会占用很多位置并且可能会减慢系统速度。

仅为 ColumnA 创建索引是否有意义?它会提高查询性能吗?

谢谢

4

1 回答 1

0

索引被用作减少“表扫描”的一种方式。您应该索引最常使用的列或列组合。如果这意味着使用 2 列,那很好。

还要记住,集群索引是数据的物理页面排序。非集群不是。因此,任何聚集索引都会变得更加高效。您总是可以将最常用的字段设置为聚集索引,并将非聚集索引放在不经常使用的字段上。

归根结底,一切都与数据有关。我曾经使用超过 1B 条记录的医疗保健表,索引在这样的环境中非常重要。

于 2013-06-20T17:19:12.823 回答