创建已分区表和已分区索引
创建分区表或分区索引分为以下几个步骤:
- 创建分区函数以指定如何分区使用该函数的表或索引。
- 创建分区方案以指定分区函数的分区在文件组上的位置。
- 创建使用分区方案的表或索引。
创建分区函数
分区函数指定如何对表或索引进行分区。该函数将域映射到一组分区。若要创建分区函数,请指定分区数、分区依据列和每个分区的分区依据列值的范围。请注意,指定分区依据列时,仅可以指定一列。
有关如何计划分区函数的详细信息,请参阅已分区表和索引的计划指南。
分区依据列规则
参与分区函数的计算列必须显式标记为 PERSISTED。
用作索引列时有效的所有数据类型都可以用作分区依据列,timestamp 除外。无法指定 ntext、text、image、xml、varchar(max)、nvarchar(max) 或 varbinary(max) 数据类型。此外,无法指定 Microsoft .NET Framework 公共语言运行时 (CLR) 用户定义类型和别名数据类型列。
创建分区函数
创建分区方案
分区方案将分区函数生成的分区映射到您定义的一组文件组。
创建分区方案时,根据分区函数的参数,定义映射表分区的文件组。必须指定足够的文件组来容纳分区数。可以指定所有分区映射到不同文件组、某些分区映射到单个文件组或所有分区映射到单个文件组。如果您希望在以后添加更多分区,还可以指定其他“未分配的”文件组。在这种情况下,SQL Server 用 NEXT USED 属性标记其中一个文件组。这意味着该文件组将包含下一个添加的分区。
一个分区方案仅可以使用一个分区函数。但是,一个分区函数可以参与多个分区方案。
创建分区方案
创建分区表或分区索引
若要在创建表或索引时对其进行分区,可以在 CREATE TABLE 或 CREATE INDEX 语句中指定下列内容:
- 表用于将分区映射到文件组的分区方案。
- 对表进行分区的依据列(分区依据列)。分区依据列必须与分区方案在数据类型、长度和精度方面使用的分区函数中指定的列匹配。如果列已计算,则必须将该列指定为 PERSISTED。
创建使用分区方案的表
创建使用分区方案的索引