SQLServer创建分区表分三个步骤
1. 创建分区函数:设定分界点
2. 创建分区方案:将分区函数和文件组映射起来
3. 创建分区表:通过建表命令"ON 分区方案",将表分区
------------------------------------------------------------实施步骤------------------------------------------------------------
准备工作:
创建5个文件组,名字分别为: FileGroup1, FileGroup2, FileGroup3, FileGroup4, FileGroup5
1. 创建分区函数
CREATE PARTITION FUNCTION
mypartfunction (int)
AS RANGE LEFT
FOR VALUES (200000, 400000, 600000, 800000)
GO
CREATE PARTITION SCHEME mypartscheme
AS PARTITION mypartfunction
TO (FileGroup1, FileGroup2, FileGroup3, FileGroup4, FileGroup5)
GO
CREATE TABLE dbo.t_partition (
id INT NOT NULL,
name1 VARCHAR(50) NOT NULL,
name2 VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
) ON mypartscheme(id)
GO
创建一个表:“dbo.t_partition”,表的数据根据"id"值的不同,存储到不同区域
负无穷 --- 200000: FileGroup1
200001 --- 400000:FileGroup2
400001 --- 600000:FileGroup3
600001 --- 800000: FileGroup4
800001 --- 正无穷 :FileGroup5
插入数据到FileGroup1
declare @i int;
declare @name1 varchar(50);
declare @name2 varchar(50);
set @i = 1;
while @i < 200000
begin
set @name1 = 'name1_' + convert(varchar, @i);
set @name2 = 'name2_' + convert(varchar, @i);
insert into dbo.t_partition values(@i, @name1, @name2)
set @i = @i + 1;
end
GO
执行上面的脚本,发现“FileGroup1”的文件增大,而其他组的文件大小没变化,说明分区成功
查询分区元数据
select * from sys.partition_functions
select * from sys.partition_range_values
select * from sys.partition_schemes
注: 文章内容参考于 <