懂得放弃,才会有新的收获!

Sql Server 2005 数据表分区优化数据库

By weisnet On 2009-12-24 At 11:03 View:889

【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专家网原创文章,未经许可,严禁转载!

·上一篇:用户单点登陆思路
·下一篇:简单易懂的C#委托与事件

for this post

 
 

Leave a Reply

赶快抢个沙发坐坐!
请先 登陆  还没帐号

Hot Posts Powered by weiseditor

  • Add to Google

Friend links