步骤:先创建分区函数,在创建分区方案,最后使用分区方案创建表
首先熟悉一下创建分区函数:
(1)在int列上创建左侧分区函数,下列分区函数将表分为四个分区。
(2)在int列上创建右侧分区函数
(3)在datatime列上创建右侧分区函数,将数据表分为12个分区,每个分区对应datetime列一年中一个月的值
分区 | 1 | 2 | 3 | 4 |
值 |coll<=1|coll>1 and coll<=100|coll>100and coll<=100|coll>100|
create partition function myRangePF1(int)
as range left for values(1,100,1000);
create partition function myRangePF1(int)
as range right for values(1,100,1000);
create partition function myDateRangePFI(datatime)
as range right for values('20030201','20030301','20030401','20030501','20030601','20030701','20030801','20030901','20031001','20031101','20031201');
然后再熟悉一下创建分区方案
(1)根据上面建立的分区函数,然后创建用于将每个分区映射到不同文件组的分区方案,下列代码首先创建一个分区函数,并将表分为四个区,然后创建一个分区方案,在其中指定拥有这四个分区中每一个分区的文件组。
(2)创建将所有分区映射到同一个文件组的分区方案。
create partition function myRangePF1(int)
as range left for values(1,100,1000)
go
create partition scheme myRangePS1
as partition myRangePF1
to (test1,test2,test3,test4);
create partition function myRangePF1(int)
as range left for values(1,100,1000)
go
create partition scheme myRangePS1
as partition myRangePF1
all to (testfg);
最终完成创建分区表
create partition function myRangePF1(int)
as range left for values(1,100,1000)
go
create partition scheme myRangePS1
as partition myRangePF1
to (test1,test2,test3,test4);
create table PT(
col1 int,
col2 char(10)
)ON myRangePS1(col1);