SQL Server 创建表分区

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server 创建表分区原文转自:/panchunting/p/SQLServer_TablePartition.html

先准备测试表

CREATETABLE[dbo].[Employee] (

EmployeeNo INT IDENTITY(1,1) PRIMARYKEY,

EmployeeName NVARCHAR(50) NULL

);

插入一些数据

INSERT Employee DEFAULTVALUES;

GO10000

UPDATE Employee set EmployeeName='Employee '+CONVERT(VARCHAR, EmployeeNo)

创建文件组

创建文件(为了性能,可以设定文件Path分布在不同的磁盘分区上)

创建分区准备

选择分区列

创建分区函数

创建分区框架

定义边界值,分区,因为有5个边界值,所以需6个分区

产生的脚本文件(换句话说上面的步骤等同于下面的语句)

USE[TestingDB]

GO

BEGINTRANSACTION

CREATE PARTITION FUNCTION[EmpFunction](int) AS RANGE RIGHT FORVALUES (N'2000', N'4000', N'6000', N'8000', N'10000')

CREATE PARTITION SCHEME [FunScheme]AS PARTITION [EmpFunction]TO ([FileGroup1], [FileGroup2], [FileGroup3], [FileGroup4], [FileGroup5], [PRIMARY])

ALTERTABLE[dbo].[Employee]DROPCONSTRAINT[PK__Employee__7AD0F1B633D4B598]

ALTERTABLE[dbo].[Employee]ADDPRIMARYKEYCLUSTERED

(

[EmployeeNo]ASC

)WITH (PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF, SORT_IN_TEMPDB =OFF, IGNORE_DUP_KEY =OFF, ONLINE =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS =ON) ON[FunScheme]([EmployeeNo])

COMMITTRANSACTION

执行上面的SQL语句

其中语句ON [FunScheme]([EmployeeNo])是关键,表明了表Employee依赖分区框架FunScheme来进行分区,分区的列为EmployeeNo

而分区框架有依赖于分区函数,即分区表依赖分区框架,分区框架又依赖于分区函数

查看表分区结果

作者:舍长

出处:/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

相关文档
最新文档