sql 大数据量 的分表操作
2011-05-25 22:55 c#在路上 阅读(2813) 评论(0) 编辑 收藏 举报-- 建立文件组:
-- 在文件组中添加文件 ,一个文件组可以包含多个文件,每个文件代表的是某个表的分表,最好放到不同的磁盘下,可以充分发挥IO的操作速度
--表分区步骤
-- 如果数据库含有大量表格,则把表格分区是很好的优化性能的方法
--1 ,创建一个分区函数 how
-- 定义一个分区的函数,来把不同编号的客户区分出来
--分区为>=250000 ,250000< >=500000,50000< <=750000,750000<
--2,创建一个分区架构,将分区连接到指定的 到指定的文件组就行了
--3,对一个表分区
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
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
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)
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)
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)
on customer_partscheme(customerid)