Ang*_*ker 25 sql-server-2008 sql-server sql-server-2008-r2 partitioning
我正在根据不是主键的列对表进行分区?我今天阅读了一些关于分区列是否必须是主键的一部分的相互矛盾的信息。我的直觉说不,但我不是 100% 确定。所以问题...
JNK*_*JNK 12
一点也不。
分区最常见的场景之一是使用日期字段,这与您的 PK 完全无关。
例如,如果您有一个Orders包含该字段的表,OrderDate您很可能会根据 的月份和年份进行分区OrderDate。
当记录过期并且不再相关时,您可以将这些分区移到存档表或数据库中,以便不再处理它们。
分区几乎适用于任何字段,但为了使其正常工作,您分区的字段应该在大多数(如果不是全部)查询中使用。如果您不包括分区键,那么您将获得跨多个表(分区)的昂贵的表扫描。
编辑
对于第 2 部分,我认为答案是否定的。分区键用于确定将行放入哪个分区,但我认为不会维护索引。不过,后端可能有统计数据。