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