加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer分区表

发布时间:2020-12-12 13:04:58 所属栏目:MsSql教程 来源:网络整理
导读:SQLServer创建分区表分三个步骤 1. 创建分区函数: 设定分界点 2. 创建分区方案: 将分区函数和文件组映射起来 3. 创建分区表: 通过建表命令 "ON 分区方案" ,将表分区 ------------------------------------------------------------实施步骤-------------

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

2. 创建分区方案

CREATE PARTITION SCHEME mypartscheme
AS PARTITION mypartfunction
TO (FileGroup1,FileGroup5)
GO

3. 创建分区表

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”的文件增大,而其他组的文件大小没变化,说明分区成功


注: 文章内容参考于 <<SQL Server 2008 从入门到精通>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读