在SqlServer2005中使用分区

因为数据量大的原因,对原来的数据库进行改造,使用了MS的分区技术。需要的操作主要有以下几步:

1、建立文件组;

2、建立文件,并指定所属的文件组,如有可能的话,可放置在多个硬盘上,以提高I/O效率。

这样可将数据分为几个部分,可有效提高查询及数据备份的效率。这两个操作可以使用代码,也可在Management Studio中完成(选择数据库-属性)。

3、建立分区函数

CREATE PARTITION FUNCTION RangeDate(datetime)
AS RANGE RIGHT FOR VALUES(
'20110101'
,'20120101')
)
GO

此函数可检测所要保存的日期数据值,判断所属的分区

4、建立分区方案:

CREATE PARTITION SCHEME LiswellScheme
AS PARTITION RangeDate
TO (
[PRIMARY],
Y2011,
Y2012,
)
GO

5、应用建表:

CREATE TABLE aaa(

id identity(1,1) not null,

dt datetime)

ON LiswellScheme(dt)

GO

6、查看数据

select
$partition.RangeDate(dt),
count(dt) from aaagroup by $partition.LiswellRangeDate(dt)

 

如果库已经存在,修改原数据库中的表则需要将原索引及关联删除后指定分区方案,再重建索引及关联。

posted on 2010-05-17 20:25  龙少爷  阅读(210)  评论(0编辑  收藏  举报

导航