SQL普通表转分区表的方法
create table sale(
[id] [int] identity(1,1) not null, --自动增长
[name] [varchar](16) not null,
[saletime] [datetime] not null,
constraint [pk_sale] primary key clustered --创建主键
(
[id] asc
)
)
--插入一些记录
insert sale ([name],[saletime]) values ('张三','2009-1-1')
insert sale ([name],[saletime]) values ('李四','2009-2-1')
insert sale ([name],[saletime]) values ('王五','2009-3-1')
insert sale ([name],[saletime]) values ('钱六','2010-4-1')
insert sale ([name],[saletime]) values ('赵七','2010-5-1')
insert sale ([name],[saletime]) values ('张三','2011-6-1')
insert sale ([name],[saletime]) values ('李四','2011-7-1')
insert sale ([name],[saletime]) values ('王五','2011-8-1')
insert sale ([name],[saletime]) values ('钱六','2012-9-1')
insert sale ([name],[saletime]) values ('赵七','2012-10-1')
insert sale ([name],[saletime]) values ('张三','2012-11-1')
insert sale ([name],[saletime]) values ('李四','2013-12-1')
insert sale ([name],[saletime]) values ('王五','2014-12-1')
alter table sale drop constraint pk_sale
--创建主键,但不设为聚集索引
alter table sale add constraint pk_sale primary key nonclustered
(
[id] asc
) on [primary]
--创建分区函数
go
create partition function [pf_sale](saletime) as range left for values(n'2010-5-1t00:00:00.000', n'2012-9-1t00:00:00.000'
go
--创建分区结构
go
create partition scheme [pt_sale] as partition [pf_sale] to ([sale1], [sale3], [sale2])
go
--创建一个使用[pt_sale]架构
go
create table [dbo].[avcache](
[id] [int] identity(1,1) not null, --自动增长
[name] [varchar](16) not null,
[saletime] [datetime] not null,
)on [pt_sale](saletime) --注意这里使用[pt_sale]架构,根据saletime 分区
-- 查看使用情况
select *, $partition.[pt_sale](saletime)
from dbo.[avcache]
上一篇: ASP实现长文章分页
下一篇: JSP 不能解析EL表达式的解决办法
推荐阅读
-
SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法
-
C#实现Excel表数据导入Sql Server数据库中的方法
-
sql将一个表中的数据插入到另一个表中的方法
-
sql查看所有表大小的方法
-
SQL Server 2005 数据库转 SQL Server 2000的方法小结
-
Oracle中在pl/sql developer修改表的2种方法
-
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
-
oracle 使用sql获取数据库表、表的字段的多种方法
-
SQL Server根据分区表名查找所在的文件及文件组实现脚本
-
sql脚本查询数据库表,数据,结构,约束等操作的方法