SQL Server - 在特定分区上创建非聚集索引

时间:2012-12-20 20:57:00

标签: sql-server performance sql-server-2008 indexing partitioning

表分区的最大好处之一是“可以在特定分区上重建索引”。

想象一下,有一个分区表(现在有12个分区),它有聚簇和一些非聚集索引,所有分区都是对齐的。

我想为表添加一个新的非聚簇索引,不必为旧分区构建。我只需要最后3个分区的索引。

那么,如何为12个分区表的最后3个分区创建一个新的非聚簇索引?

1 个答案:

答案 0 :(得分:1)

这是不可能的。它会为参数化查询带来问题,因为查询规划器永远不会静态地知道可以使用索引(除非存在常量表达式谓词)。

您可以使用`where partitionKey> = startOfSomePartition'创建过滤索引。但是,您的查询必须静态包含此谓词。

您可以尝试查看具有不同架构的两个分区表。但是开发起来不太方便。