sql server分区


1. 创建分区

分区步骤:1.创建分区函数  2.创建分区架构 3.创建分区索引(聚集)

 


--1. 创建分区函数
DECLARE @dt datetime
SET @dt = '20030901'
CREATE PARTITION FUNCTION PF_History(datetime)
AS RANGE RIGHT
FOR VALUES(
    @dt,
    DATEADD(Month, 1, @dt), DATEADD(Month, 2, @dt), DATEADD(Month, 3, @dt),
    DATEADD(Month, 4, @dt), DATEADD(Month, 5, @dt), DATEADD(Month, 6, @dt),
    DATEADD(Month, 7, @dt), DATEADD(Month, 8, @dt), DATEADD(Month, 9, @dt),
    DATEADD(Month, 10, @dt), DATEADD(Month, 11, @dt), DATEADD(Month, 12, @dt))
GO
--2. 创建分区架构
CREATE PARTITION SCHEME PS_History
AS PARTITION PF_History
TO([PRIMARY], [PRIMARY],
    [PRIMARY], [PRIMARY], [PRIMARY],
    [PRIMARY], [PRIMARY], [PRIMARY],
    [PRIMARY], [PRIMARY], [PRIMARY],
    [PRIMARY], [PRIMARY], [PRIMARY])
GO

--3. 创建分区索引(聚集)
----- 1) 删除现有的聚集索引
----- 2) 创建分区聚集索引
CREATE CLUSTERED INDEX CT_Sale ON Sale([SaleTime])
ON 分区方案名([SaleTime]) 

 

查询语句

--查询

--查询数据所在的分区
select $PARTITION.PF_T_SERVICE_LOG('2000-06-30 17:13:57.883') AS 分区编号
--统计所有分区表中的记录总数   
select $PARTITION.PF_T_SERVICE_LOG(tm) as 分区编号,count(id) as 记录数 from T_SERVICE_LOG group by $PARTITION.PF_T_SERVICE_LOG(tm)
--查询指定分区编号下的记录
select * from T_SERVICE_LOG where $PARTITION.PF_T_SERVICE_LOG(tm)=2

 

 

 

 

资料: http://blog.csdn.net/smallfools/article/details/4934119

** 将已分区表转换成普通表: http://blog.csdn.net/smallfools/article/details/5004100

 

动态生成分区脚本: http://www.cnblogs.com/gaizai/archive/2011/01/14/1935579.html

http://www.cnblogs.com/knowledgesea/p/3696912.html

转载于:https://www.cnblogs.com/chencidi/p/7094261.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值