表分区的建立简历建立参考
http://www.databasejournal.com/features/mssql/article.php/3640891

1,创建分区

2,创建分区函数

3,创建分区架构
);

4,创建表

5,创建聚合索引

分区函数共有三个分临界值:100,200,300,有四个文件组[Data Partition DB FG1]到[... FG4],存储规则如下:

分区号 范围  文件组名
1 x<=100 [Data Partition DB FG1]
2 100<x<=200 [Data Partition DB FG2]
3 200<x<=300 [Data Partition DB FG3]
4 300<x [Data Partition DB FG4]

现在要求加入500这个临界值,并加入文件组[Data Partition DB FG5],如下操作:
1,建立文件组:
sql2005表分区之增加分区ALTER DATABASE [Data Partition DB2]ADD FILEGROUP  [Data Partition DB FG5]
sql2005表分区之增加分区
ALTER DATABASE [Data Partition DB2]ADD FILE(NAME='Data Partition DB FG5',
sql2005表分区之增加分区FILENAME
='D:\Database\Data Partition DB FG5.ndf'TO FILEGROUP [Data Partition DB FG5];
2,更改分区架构
sql2005表分区之增加分区ALTER PARTITION SCHEME  [Data Partition Scheme]
sql2005表分区之增加分区
NEXT USED [Data Partition DB FG5];
3,更改分区函数
sql2005表分区之增加分区ALTER PARTITION FUNCTION  [Data Partition Range](int)
sql2005表分区之增加分区SPLIT RANGE (
500

然后我们来看有什么变化:
分区架构:
sql2005表分区之增加分区USE [Data Partition DB2]
sql2005表分区之增加分区
GO
sql2005表分区之增加分区
CREATE PARTITION SCHEME [Data Partition Scheme] AS PARTITION [Data Partition Range] 
sql2005表分区之增加分区
TO ([Data Partition DB FG1]
sql2005表分区之增加分区
[Data Partition DB FG2]
sql2005表分区之增加分区
[Data Partition DB FG3]
sql2005表分区之增加分区
[Data Partition DB FG5]
sql2005表分区之增加分区
[Data Partition DB FG4])

分区函数:
sql2005表分区之增加分区USE [Data Partition DB2]
sql2005表分区之增加分区
GO
sql2005表分区之增加分区
CREATE PARTITION FUNCTION [Data Partition Range](intAS RANGE LEFT FOR VALUES (100200300500)

这时的存储规则:
分区号 范围  文件组名
1 x<=100 [Data Partition DB FG1]
2 100<x<=200 [Data Partition DB FG2]
3 200<x<=300 [Data Partition DB FG3]
4 300<x<=500 [Data Partition DB FG5]
5 500<x [Data Partition DB FG4]

可以看到新加的文件组并没有排到最后一们,而FG4成为新的临界点。那我们加入新的临界点400呢,
变化如下
分区架构:
sql2005表分区之增加分区USE [Data Partition DB2]
sql2005表分区之增加分区
GO
sql2005表分区之增加分区
CREATE PARTITION SCHEME [Data Partition Scheme] AS PARTITION [Data Partition Range] 
sql2005表分区之增加分区
TO ([Data Partition DB FG1]
sql2005表分区之增加分区
[Data Partition DB FG2]
sql2005表分区之增加分区
[Data Partition DB FG3]
sql2005表分区之增加分区
[Data Partition DB FG5]
    [Data Partition DB FG6]
sql2005表分区之增加分区
[Data Partition DB FG4])

分区函数:
sql2005表分区之增加分区USE [Data Partition DB2]
sql2005表分区之增加分区
GO
sql2005表分区之增加分区
CREATE PARTITION FUNCTION [Data Partition Range](intAS RANGE LEFT FOR VALUES (100200300,400, 500)

存储规则将变为
分区号 范围  文件组名
1 x<=100 [Data Partition DB FG1]
2 100<x<=200 [Data Partition DB FG2]
3 200<x<=300 [Data Partition DB FG3]
4 300<x<=400 [Data Partition DB FG5]
5 400<x<=500 [Data Partition DB FG6]
6 500<x [Data Partition DB FG4]

所以对于具体时间维的数据仓库来说,时间做为临界点,是不断增加的,我们一开始创建事实表分区时,最后一个分区应该叫做类似[Data Partiotion DB FG LAST]的名称,

最后,有一个问题还没有实践,对于一个有1000w条记录的文件组,用一个文件保存和用十个文件保存,查询效率会有什么样的不同呢?

相关文章:

  • 2021-11-25
  • 2021-12-24
  • 2022-12-23
  • 2021-07-30
  • 2021-06-19
  • 2021-11-10
猜你喜欢
  • 2021-11-29
  • 2021-05-29
  • 2022-12-23
  • 2021-05-24
  • 2021-11-26
  • 2021-12-05
  • 2022-12-23
相关资源
相似解决方案