SQLServer分区表

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


查询分区元数据

select * from sys.partition_functions    
select * from sys.partition_range_values 
select * from sys.partition_schemes



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

SQL Server 分区表是一种数据库设计技术,它将大型数据集划分为多个逻辑或物理部分,每个部分称为分区分区表可以提高查询性能、简化管理以及支持更有效的数据分发。以下是SQL Server分区表的一些关键特性: 1. **性能提升**:分区有助于减少I/O操作,特别是当查询只针对部分数据时。数据库系统可以直接访问所需的分区,而不是扫描整个表。 2. **空间效率**:通过将数据按时间、地理区域或其他关键字段分区,可以减少存储空间的使用,因为每个分区可以独立管理和扩展。 3. **易于管理**:分区表使得维护和管理大型数据变得简单,比如数据备份、恢复、索引更新等,只需要处理相关的分区。 4. **灵活的数据分发**:对于分布式应用,分区表可以方便地在多个服务器上复制和分布,提高并发处理能力。 SQL Server 支持多种分区类型: - **范围分区**(Range Partitioning):根据数值范围对数据进行划分。 - **列表分区**(List Partitioning):根据预定义的列表值对数据进行划分。 - **哈希分区**(Hash Partitioning):根据哈希函数的结果将数据均匀分配到各个分区。 - **文件组分区**:基于文件组进行分区,用于存储大量小文件。 创建分区表时,你需要明确指定分区键和分区函数。分区表与非分区表类似,但在设计时需要考虑分区策略和查询优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duanbeibei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值