SQL SERVER2005 分区表几何倍数提高网站性能[2]-添加、合并、删除,查询分区
前一篇文章SQL SERVER2005 分区表几何倍数提高网站性能 已经讲到了如何去为一张表创建分区,今天这里要说的就是再创建好分区后,如何对分区进行修改,比如添加范围,合并范围,查询分布之类的。废话不说,代码才是硬道理
1.首先要改变分区范围,就得给它一个位置吧,要把它放哪里吧,所以必须先给它一个存在的位置使用关键字next used
添加一个组
ALTER DATABASE [D] ADD FILEGROUP [GF2]
ALTER DATABASE [WSBOOK] ADD FILE ( NAME = N'GF2', FILENAME = N'E:\E\E1\DGF2.ndf' , SIZE = 5MB , FILEGROWTH = 10% )
TO FILEGROUP [GF2]
ALTER DATABASE [WSBOOK] ADD FILE ( NAME = N'GF2', FILENAME = N'E:\E\E1\DGF2.ndf' , SIZE = 5MB , FILEGROWTH = 10% )
TO FILEGROUP [GF2]
为架构添加范围
ALTER PARTITION SCHEME [D_PARTITION_SHEME]
NEXT USED GF2
NEXT USED GF2
这句话就是让下一个分区使用和现在已经存在的分区GF2分区中,这样此分区就存储了五段partition的数据
2.添加一个范围
ALTER PARTITION FUNCTION [D_PARTITIONFUNC]()
SPLIT RANGE ('700000')
SPLIT RANGE ('700000')
也可以合并一个范围
ALTER PARTITION FUNCTION [D_PARTITIONFUNC]() MERGE RANGE ('400000')
3.查询分区分布
SELECT * FROM SYS.PARTITIONS WHERE OBJECT_ID = OBJECT_ID('dbo.B')
4.删除分区
DROP TABLE dbo.Ws_BookChapterUrl
DROP PARTITION SCHEME [D_PARTITION_SHEME]
DROP PARTITION FUNCTION [D_PARTITIONFUNC]
DROP PARTITION SCHEME [D_PARTITION_SHEME]
DROP PARTITION FUNCTION [D_PARTITIONFUNC]
这篇文章文章以及前一篇文章讲的也就是分区的一个部分-范围分区,这也是最常见的模式,其实还有其他的分区模式,这里就不敷衍了,有兴趣的自己去找资料。
现在有个问题,提出来跟大家探讨探讨,虽然分区可以使一张表存储上百G的数据,可是难道SQL SERVER 2005就没有数据瓶颈了,就是一张表顶多能存多少数据,如果达到那个瓶颈,分区是不是可以解决它呢?最好的办法又是什么呢?