分区表

  • 分区函数:告诉数据库管理系统以什么方式对表进行分区
    分区方案:将分区函数生成的分区映射到文件组中
    使用分区方案创建表

  • 创建分区函数(作用域仅限于创建该分区函数的数据库)
  • 在int列上创建左侧分区函数
    默认LEFT左侧分区
    1 create partition function part1(int)
    2 as range left for values(1, 100, 1000)
    3 --列coll使用此分区函数的表进行分区:
    4 --coll<=1, coll>1 and coll <=100, coll > 100 and coll <= 1000, coll > 1000
    1 create partition function part1(int)
    2 as range right for values(1, 100, 1000)
    3 --coll<1, coll>=1 and coll<100, coll>=100 and coll<1000, coll>=1000


    在datetime列上创建右侧分区函数,分成12个分区,每个分区对应一年中的一个月的值

    1 create partition function part2(datetime)
    2 as range right for values
    3 (
    4     '20030201','20030301','20030401','20030501',
    5     '20030601','20030701','20030801','20030901',
    6     '20031001','20031101','20031201'
    7 )
  • 创建分区方案
    1 create partition function pppf1(int)
    2     as range left for values(100);
    3 go
    4 create partition scheme ppps1
    5     as partition pppf
    6     to(group1,group2);
    1 --创建一个将所有分区映射到同一文件组的分区方案
    2 create partition function pppf4(int)
    3     as range left for values(100);
    4 go
    5 create partition scheme ppps4
    6     as partition pppf4
    7     all to(group1);



    分区数少于指定的文件组数,第一个未分配的文件组将标记为NEXT USED

    1 create partition function pppf5(int)
    2     as range left for values(100);
    3 go
    4 create partition scheme ppps5
    5     as partition pppf5
    6      to(group1,group2,group3,group4);

  •  1 --首先创建一个分区函数,将表或索引分为四个分区。然后创建一个分区方案,最后创建使用此分区方案的表。
     2 create partition function ppff2(int)
     3     as range left for values (1, 100, 1000);
     4 go
     5 create partition scheme ppss2
     6     as partition ppff2
     7     to (group1,group2,group3,group4);
     8 go
     9 create table partitiontable
    10 (
    11     col1 int,
    12     col2 char(10)
    13 )
    14 on ppss2(col1);

     

原文地址:https://www.cnblogs.com/2020R/p/13172061.html