代码改变世界

sql 大数据量 的分表操作

2011-05-25 22:55  c#在路上  阅读(2802)  评论(0编辑  收藏  举报
-- 建立文件组:
use OwnMSDB
go

alter database OwnMSDB add filegroup filegroup1
alter database OwnMSDB add filegroup filegroup2
alter database OwnMSDB add filegroup filegroup3
alter database OwnMSDB add filegroup filegroup4

go

-- 在文件组中添加文件 ,一个文件组可以包含多个文件,每个文件代表的是某个表的分表,最好放到不同的磁盘下,可以充分发挥IO的操作速度
use OwnMSDB
go

alter database OwnMSDB add file(name=N'TextDataFile',filename=N'C:\sql file group1\TextDataFile1.ndf',size=3072kb,filegrowth=1024KB) to filegroup filegroup1

-- and so on

--表分区步骤
-- 如果数据库含有大量表格,则把表格分区是很好的优化性能的方法

--1 ,创建一个分区函数 how
-- 定义一个分区的函数,来把不同编号的客户区分出来
create partition function customer_partfunc(int)
as range right
for values(250000,500000,750000)

--分区为>=250000 ,250000< >=500000,50000< <=750000,750000<

--2,创建一个分区架构,将分区连接到指定的 到指定的文件组就行了
use OwnMSDB
go
create partition scheme customer_partscheme
as partition customer_partfunc
to(filegroup1,filegroup2,filegroup3,filegroup4)

--3,对一个表分区

create table Customer1(firstname varchar(100),lastname varchar(100),customerid int)
on customer_partscheme(customerid)