SQL Server 引入的表分区技术,让用户能够把数据分散存放到不同的物理磁盘中,提高这些磁盘的并行处理性能以优化查询性能……
二 、SQL SERVER 数据库表分区由三个步骤来完成
1.创建分区函数
2.创建分区架构
3.对表进行分区
创建数据库分区文件
create database testdb2
on primary(
name='testdb',
filename='e:\test1\db_testdb2.mdf',
size=5MB,
maxsize=500MB,
filegrowth=1
),
filegroup [testdbndf1]
(
name='testdbndf1',
filename='e:\test1\testdbndf1.ndf',
size=5MB,
maxsize=500MB,
filegrowth=1
),
filegroup [testdbndf2]
(
name='testdbndf2',
filename='e:\test1\testdbndf2.ndf',
size=5MB,
maxsize=500MB,
filegrowth=1
),
filegroup [testdbndf3]
(
name='testdbndf3',
filename='e:\test1\testdbndf3.ndf',
size=5MB,
maxsize=500MB,
filegrowth=1
)
filegroup [testdbndf4]
(
name='testdbndf4',
filename='e:\test1\testdbndf4.ndf',
size=5MB,
maxsize=500MB,
filegrowth=1
)
创建分区函数
create partition function testdb2_fqhs(datetime) as range right for values('2013-05-03','2013-05-04','2013-05-05')
创建分区架构
create partition scheme testdb_scheme as partition testdb2_fqhs to([testdbndf1],[testdbndf2],[testdbndf3],[testdbndf4])
对表进行分区
create table test22
(
id int,
name varchar(20),
testtime datetime
) on testdb_scheme(testtime)
查询分区情况
select *,$partition.[testdb2_fqhs](testtime) from dbo.test22
使用RANGE RIGHT作为分区函数的关键字,它表示这个值开始是属于右边界的
表分区要注意datetime类型 对于没有时间的日期默认是00:00:00:000 AM