SQL表分区与聚簇索引的条件相同

时间:2011-03-22 22:02:44

标签: sql-server sql-server-2008

使用与聚簇索引相同的条件对表进行分区是否有意义?例如,我有一个带有时间戳字段的表。这个时间戳是聚集索引的基础,我希望按时间戳将表分区为几年。

这样做是否有意义,还是应该将聚簇索引更改为其他一些标准(基本上就像拥有两个聚簇索引)?

2 个答案:

答案 0 :(得分:2)

在聚簇索引上进行分区没有真正的问题。

通常使用递增聚簇索引,这样新数据才会进入最后一个分区。

答案 1 :(得分:1)

您不能以一种方式对聚集索引进行分区,而是以另一种方式对表进行分区。这只是因为聚簇索引 表。如果在分区方案A上创建一个表(一个堆),然后在分区方案B上构建一个聚簇索引,那么最后你将得到一个关于分区方案{{1 }}。您根本不能同时拥有表(堆)聚簇索引。它们是相互排斥的。

一个合法的问题是,您是否可以在不同于聚簇索引的分区上使用非聚集索引。技术上是的,你可以,但是这会产生所谓的“未对齐索引”,这从两个角度来看是有问题的: