下面来说下,在SQL SERVER 2005的表分区里,如何对已经存在的有数据的表进行分区,其实道理和之前在http://www.cnblogs.com/jackyrong/archive/2006/11/13/559354.html说到一样,只不过交换下顺序而已,下面依然用例子说明:
依然在c盘的data2目录下建立4个文件夹,用来做4个文件组,然后建立数据库
use master
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'Data Partition DB3')
DROP DATABASE [Data Partition DB3]
GO
CREATE DATABASE [Data Partition DB3]
ON PRIMARY
(NAME='Data Partition DB Primary FG3',
FILENAME=
'C:\Data2\Primary\Data Partition DB Primary FG3.mdf',
SIZE=5,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB3 FG1]
(NAME = 'Data Partition DB3 FG1',
FILENAME =
'C:\Data2\FG1\Data Partition DB3 FG1.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB3 FG2]
(NAME = 'Data Partition DB3 FG2',
FILENAME =
'C:\Data2\FG2\Data Partition DB3 FG2.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB3 FG3]
(NAME = 'Data Partition DB3 FG3',
FILENAME =
'C:\Data2\FG3\Data Partition DB3 FG3.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 ),
FILEGROUP [Data Partition DB3 FG4]
(NAME = 'Data Partition DB3 FG4',
FILENAME =
'C:\Data2\FG4\Data Partition DB3 FG4.ndf',
SIZE = 5MB,
MAXSIZE=500,
FILEGROWTH=1 )
然后建立一个数据表:
USE [Data Partition DB3]
go
CREATE TABLE MyTable
(ID INT NOT NULL,
Date DATETIME,
Cost money ) on [primary]
并建立一个索引
USE [Data Partition DB3]
go
CREATE UNIQUE CLUSTERED INDEX MyTable_IXC
ON MyTable(ID) on [PRIMARY]
接下来往表里增加数据
USE [Data Partition DB3]
go
declare @count int
set @count =-25
while @count <=100
begin
insert into MyTable select @count,getdate(),100.00
set @count=@count+1
end
set @count =101
while @count <=200
begin
insert into MyTable select @count,getdate(),200.00
set @count=@count+1
end
set @count =201
while @count <=300
begin
insert into MyTable select @count,getdate(),300.00
set @count=@count+1
end
set @count =301
while @count <=400
begin
insert into MyTable select @count,getdate(),400.00
set @count=@count+1
end
set @count =401
while @count <=800
begin
insert into MyTable select @count,getdate(),500.00
set @count=@count+1
end
此时查询一下,可以看到数据都在一个表里select * from sys.partitions where object_name(object_id)='MyTable'
我们再建立表分区函数use [Data Partition DB3]
GO
CREATE PARTITION FUNCTION [Data Partition Range](int)
AS RANGE LEFT FOR VALUES (100,200,300)
这里表明分区的原则是四个分区,从负数到100,101-200,201-300,大于300
当然,如果用right for values的话,就是从负数到99,100到199,200-299,和大于300
最后,把表分区函数应用到文件组里
USE [Data Partition DB3]
go
CREATE PARTITION SCHEME [Data Partition Scheme]
AS PARTITION [Data Partition Range]
TO ([Data Partition DB3 FG1], [Data Partition DB3 FG2], [Data Partition DB3 FG3],[Data Partition DB3 FG4]);
把原来建立好的表,移动到这个表分区里
Drop index MyTable_IXC on MyTable with (Move To [Data Partition Scheme] (ID) )
最后看一看select * from sys.partitions where object_name(object_id)='MyTable'
可以看到,原来的表的数据被正确分拆到四个文件组里去了,实现了表分区
http://www.cnblogs.com/jackyrong/archive/2006/11/16/562514.html
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 蔡幸娟.1997-再见!蔚蓝海岸【艺能动音】【WAV+CUE】
- 王识贤.2009-足步天下【乾坤唱片】【WAV+CUE】
- 群星.2024-奔赴星辰的我们影视剧原声带【纯然映画】【FLAC分轨】
- 张其萍《美丽中国梦》[WAV+CUE]
- 中国电视歌选专集之二《合家欢-歌声1985》[WAV+CUE]
- dts-金牌猛士的士高(串烧版三)
- 蔡琴《华纳NO.1 2CD 华纳唱片》[WAV+CUE][810MB]
- 刀郎《弹词话本 2020》[FLAC/分轨][300MB]
- 镭射效果-《音响感应测试带》[WAV+CUE][579M]
- 群星.1994-星SING交差HITS【滚石】【WAV+CUE】
- 水木年华.2003-3新歌+精丫喜洋洋】【WAV+CUE】
- Sweety.2005-十七岁不温柔【丰华】【WAV+CUE】
- [ABC唱片]-《金色大厅音箱测试壹号》[德国版HD-159]【WAV+CUE】
- 张玉华.2002-属于自己【环球】DTS【WAV分轨】
- 林小宝《细水长流HQCD》[低速原抓WAV]