SQL Server数据库表分区

--创建文件组
alter database [lmg_crm] add filegroup crm_201801
alter database [lmg_crm] add filegroup crm_201802
alter database [lmg_crm] add filegroup crm_201803
alter database [lmg_crm] add filegroup crm_201804
alter database [lmg_crm] add filegroup crm_201805
alter database [lmg_crm] add filegroup crm_201806
alter database [lmg_crm] add filegroup crm_201807
alter database [lmg_crm] add filegroup crm_201808
alter database [lmg_crm] add filegroup crm_201809
alter database [lmg_crm] add filegroup crm_201810
alter database [lmg_crm] add filegroup crm_201811
alter database [lmg_crm] add filegroup crm_201812


--创建文件
alter database [lmg_crm] add file
    (Name=N'crm_201801',filename='F:\lmg_crm\crm_201801.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201801
alter database [lmg_crm] add file
    (Name=N'crm_201802',filename='F:\lmg_crm\crm_201802.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201802
alter database [lmg_crm] add file
    (Name=N'crm_201803',filename='F:\lmg_crm\crm_201803.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201803
alter database [lmg_crm] add file
    (Name=N'crm_201804',filename='F:\lmg_crm\crm_201804.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201804
alter database [lmg_crm] add file
    (Name=N'crm_201805',filename='F:\lmg_crm\crm_201805.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201805
alter database [lmg_crm] add file
    (Name=N'crm_201806',filename='F:\lmg_crm\crm_201806.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201806
alter database [lmg_crm] add file
    (Name=N'crm_201807',filename='F:\lmg_crm\crm_201807.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201807
alter database [lmg_crm] add file
    (Name=N'crm_201808',filename='F:\lmg_crm\crm_201808.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201808
alter database [lmg_crm] add file
    (Name=N'crm_201809',filename='F:\lmg_crm\crm_201809.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201809
alter database [lmg_crm] add file
    (Name=N'crm_201810',filename='F:\lmg_crm\crm_201810.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201810
alter database [lmg_crm] add file
    (Name=N'crm_201811',filename='F:\lmg_crm\crm_201811.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201811
alter database [lmg_crm] add file
    (Name=N'crm_201812',filename='F:\lmg_crm\crm_201812.ndf',size=10mb,filegrowth=10mb) 
    to filegroup crm_201812


--编写分区函数
create partition function RangeTime (datetime)
as range right for values 
('2018-01-01','2018-02-01','2018-03-01','2018-04-01','2018-05-01','2018-06-01',
'2018-07-01','2018-08-01','2018-09-01','2018-10-01','2018-11-01','2018-12-01')
   
    --其中:
    --1、CREATE PARTITION FUNCTION意思是创建一个分区函数。
    --2、RangeTime为分区函数名称。
    --3、AS RANGE RIGHT为设置分区范围的方式为Right,也就是右置方式。
    --4、FOR VALUES ('2017-12-01','2018-01-01','2018-02-01','2018-03-01')为按这几个值来分区。


--编写分区方案
 create partition scheme RangeSchema_CreateTime
  as partition RangeTime
  to (crm_201801,crm_201802,crm_201803,crm_201804,crm_201805,crm_201806,
  crm_201807,crm_201808,crm_201809,crm_201810,crm_201811,crm_201812)

    --其中:
    --1、CREATE PARTITION SCHEME意思是创建一个分区方案。
    --2、RangeSchema_CreateTime为分区方案名称。
    --3、AS PARTITION RangeTime说明该分区方案所使用的数据划分条件(也就是所使用的分区函数)为partfunSale。
    --4、TO后面的内容是指partfunSale分区函数划分出来的数据对应存放的文件组。


--创建分区表
CREATE TABLE refueling_transaction_data
        (
			[id] [varchar](40) NOT NULL,
			[time] datetime NOT NULL  ,
			[asn] [varchar](40) NULL,
			[bal] [decimal](32, 2) NULL,
			[amn] [decimal](32, 2) NULL,
			[ctc] [varchar](50) NULL,
			[oiluuid] [varchar](50)NOT NULL 
		)ON RangeSchema_CreateTime([time])



--统计每个分区的数据量
select $partition.RangeTime(time) as number,count(*) as rcout
from refueling_transaction_data group by $partition.RangeTime(time)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值