【IT专家网独家】您是不是也在苦苦寻求优化自己的SQL Server数据库的方法?假如您的数据库里有不少很大的表格,分区功能能够帮到您很大的忙,因为他能够把这些大表格分割成单独文档组。这个技术能够让您把数据分布在不同的物理磁盘中,并通过调节他们的并行性能来最优化您的查询性能。
对SQL Server数据表进行分区的过程分为三个步骤:
1)建立分区函数
2)建立分区方案
3)对表格进行分区
第一个步骤:建立分区函数
分区函数定义[u]how[/u],即您想要SQL Server怎样对数据进行分区。这里就不以某一个表格作为例子,而是总体概括分割数据的技术。
分区是通过指定每个分区的分割界线实现的。例如,假定我们有一个Customers表格,里面包含了企业任何的客户的信息,客户信息以唯一的客户号进行辨识,客户号从1到1000000。我们能够运用以下的分区函数(这里称之为customer_Partfunc)把这个表格平均分为四个分区:
CREATE PARTITION FUNCTION customer_partfunc (int)
AS RANGE RIGHT
FOR VALUES (250000, 500000, 750000) |
这些分割界线指定了四个分区。第一个分区包含任何值小于250000的记录。第二个分区包含任何值在250000和499999之间的记录。而第三个分区包含任何值在500000和749999之间的记录。其他任何大于或等于750000的记录都包含在第四个分区里。
注意这个例子中使用了“RANGE RIGHT”从句。这说明分界值是在分区的右边。同样,假如使用的是“RANGE LEFT”从句,那么第一个分区就会包含任何值小于或等于250000的记录;第二个分区就会包含任何值在250001和500000之间的记录,如此类推。
第二个步骤:建立分区方案
一旦建立完定义怎样对数据进行分区的分区函数之后,下一步就是建立一个分区方案,定义[u]where[/u],即您想在哪里对数据进行分区。这是个很直接明了的过程,例如,假如我有四个文档组,名称分别从“fg1”到“fg4”,那么就能够使用以下分区方案:
CREATE PARTITION SCHEME customer_partscheme
AS PARTITION customer_partfunc
TO (fg1, fg2, fg3, fg4) |
注意我们现在把一个分区函数连接到了分区方案,但是我们还没有把分区方案连接到任何具体的数据库表格。这就是重复使用功能发挥功能的时候。我们能够通过这个功能把分区方案(或只是分区函数)用于数据库表格的任何数据上。
第三个步骤:对表格进行分区
建立好分区方案之后,就能够开始对表格进行分区了。这是最简单的一个步骤,只需要在表格创建语句中添加“ON”从句,指定表格分区方案和要应用该分区方案的表列。您无需指定分区函数,因为分区方案已定义了分区函数。
举个例子,假设您想要用上述的分区方案来创建一个客户表格,您需要使用以下Transact-SQL语句:
CREATE TABLE customers (FirstName nvarchar(40), LastName nvarchar(40), CustomerNumber int)
ON customer_partscheme (CustomerNumber) |
IT专家网原创文章,未经许可,严禁转载!