我们通常什么时候将所有分区映射到同一个文件组?

3 sql-server t-sql

我正在 MSDN 的 SQL-Server 中学习“分区功能”和“分区架构”。我发现这种将所有分区映射到同一个文件组的语法。例如:

CREATE PARTITION FUNCTION myRangePF3 (int)  
AS RANGE LEFT FOR VALUES (1, 100, 1000);  
GO  
CREATE PARTITION SCHEME myRangePS3  
AS PARTITION myRangePF3  
ALL TO ( test1fg );
Run Code Online (Sandbox Code Playgroud)

我的问题是,这样做的关键是什么?这甚至称为分区吗???我们通常什么时候将所有分区映射到同一个文件组?

Joe*_*ish 5

使用同一文件组上的所有分区对表进行分区有以下好处:

  • 查询中的分区消除
  • 能够在文件组内进行分区切换
  • 不能跨 CCI 的分区拆分行组,这可以在查询中更好地消除行组
  • 自 SQL Server 2014 起的增量统计信息
  • 可以在分区级别进行其他维护操作,例如重建
  • 并行扫描的不同行为,这在某些情况下会有所帮助。

除非另有说明,否则将分区放在不同的文件组上时,这些好处也存在。

将分区放在不同文件组上的一个原因是,当您想将旧数据放在映射到较慢存储层的文件组上时。