WEB开发网
开发学院数据库MSSQL Server SqlServer性能优化:Partition(管理分区) 阅读

SqlServer性能优化:Partition(管理分区)

 2010-03-10 00:00:00 来源:WEB开发网   
核心提示:正如上一篇文章SqlServer性能优化——Partition(创建分区)中所述,分区并不是一个一劳永逸的操作,SqlServer性能优化:Partition(管理分区),对一张表做好分区仅仅是开始,接下来可能需要频繁的变更分区,它的意义在于将一个分区的数据从一张表切换到另一张表中,这里定义被切

正如上一篇文章SqlServer性能优化——Partition(创建分区)中所述,分区并不是一个一劳永逸的操作,对一张表做好分区仅仅是开始,接下来可能需要频繁的变更分区,管理分区。

在企业管理器中,虽然有“管理分区”的菜单,里面的内容却可能与你的预想不同,这里并没有提供直接对分区进行操作的方法,所以一些普通的操作,比如“增加分区”、“删除分区”之类的操作就需要通过脚本实现了。

增加分区(Split Partition)

“增加分区”事实上就是将现有的分区分割开,基于此,在SQL Server中应用的是Split操作。在分离分区的时候,不仅仅要在Partition Function上指定分割的分界点,同样需要在Partition Scheme上指定新分区应用的文件组:

--指定下一个分区应用文件组PRIMARY 
ALTER PARTITION SCHEME [MyPartitionSchema] 
NEXT USED [PRIMARY] 
--指定分区分界点为5000 
ALTER PARTITION FUNCTION MyPartitionFunction() 
SPLIT RANGE (5000)

需要注意的一点是,新增的分区中非聚簇索引的压缩模式会被置为None。

删除分区(Merge Partition)

“删除分区”同样可以认为是将原来分离的分区合并在一起,所以对应的是Merge操作,而且由于并没有新增的分区,Partition Scheme并不需要改变:

ALTER PARTITION FUNCTION MyPartitionFunction () 
MERGE RANGE (5000)

切换分区(Switch Partition)

“切换分区”可能是一个比看上去会应用的更频繁的操作,它的意义在于将一个分区的数据从一张表切换到另一张表中。这里定义被切换分区的表为“源表”,被切换到的表为“目标表”,则执行切换操作的前提是:

1 2 3  下一页

Tags:SqlServer 性能 优化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接