SQLSrver分区表建表

SQLSrver分区表建表

1.创建文件组

右键数据库属性 ==> 文件组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2kbZcgar-1661328481854)(C:\Users\16224\AppData\Roaming\Typora\typora-user-images\image-20220824153143904.png)]

或者根据 sql 创建文件组

alter database <数据库名> add filegroup <文件组名>
---创建数据库文件组
ALTER DATABASE EWYBH ADD FILEGROUP TEST1
ALTER DATABASE EWYBH ADD FILEGROUP TEST2
ALTER DATABASE EWYBH ADD FILEGROUP TEST3
ALTER DATABASE EWYBH ADD FILEGROUP TEST4

2.创建数据文件到文件组

右键数据库属性 ==> 文件组 ==> 添加

alter database <数据库名称> add file <数据标识> to filegroup <文件组名称>

--<数据标识> (name:文件名,fliename:物理路径文件名,size:文件初始大小kb/mb/gb/tb,filegrowth:文件自动增量kb/mb/gb/tb/%,maxsize:文件可以增加到的最大大小kb/mb/gb/tb/unlimited)
ALTER DATABASE EWYBH ADD FILE(name=N'ByDate1',filename=N'D:\SiSS\DATA\ByDate1.ndf',size=5Mb,filegrowth=5mb) TO FILEGROUP TEST1
ALTER DATABASE EWYBH ADD FILE(name=N'ByDate2',filename=N'D:\SiSS\DATA\ByDate2.ndf',size=5Mb,filegrowth=5mb) TO FILEGROUP TEST2
ALTER DATABASE EWYBH ADD FILE(name=N'ByDate3',filename=N'D:\SiSS\DATA\ByDate3.ndf',size=5Mb,filegrowth=5mb) TO FILEGROUP TEST3
ALTER DATABASE EWYBH ADD FILE(name=N'ByDate4',filename=N'D:\SiSS\DATA\ByDate4.ndf',size=5Mb,filegrowth=5mb) TO FILEGROUP TEST4

右键数据库属性 ==> 观察文件组跟文件里面是否多出来内容

3.创建分区表

右键需要创建分区的表 ==> 存储 ==> 创建分区,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDhB5OPI-1661328481855)(C:\Users\16224\AppData\Roaming\Typora\typora-user-images\image-20220824153931991.png)]

分区列

假如选择的是int类型的列:那么你的分区可以指定为1–100W是一个分区,100W–200W是一个分区…

假如选择的是datatime类型:那么你的分区可以指定为:2014-01-01–2014-01-31一个分区,2014-02-01–2014-02-28一个分区…

根据这样的列数据规则划分,那么在那个区间的数据,在插入数据库时就被指向那个分区存储下来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SCa96JML-1661328481856)(C:\Users\16224\AppData\Roaming\Typora\typora-user-images\image-20220824154330639.png)]

左边界右边界:就是把临界值划分给上一个分区还是下一个分区。一个小于号,一个小于等于号

新建分区函数:ByPartitionFun,新建分区方案:ByPartitionSchema

一路下一步

4.得到脚本生成

USE [EWYBH]

GO

BEGIN TRANSACTION

--创建分区函数
CREATE PARTITION FUNCTION [ByPartitionFun](datetime) AS RANGE LEFT FOR VALUES (N'2017-01-01T00:00:00', N'2018-01-01T00:00:00', N'2019-01-01T00:00:00')

--创建分区方案
CREATE PARTITION SCHEME [ByPartitionSchema] AS PARTITION [ByPartitionFun] TO ([PRIMARY], [test1], [test2], [TEST4])

ALTER TABLE [dbo].[t_rm_vip_info] DROP CONSTRAINT [PK_T_RM_VIP_INFO]

SET ANSI_PADDING ON

ALTER TABLE [dbo].[t_rm_vip_info] ADD  CONSTRAINT [PK_T_RM_VIP_INFO] PRIMARY KEY NONCLUSTERED ([card_id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

--创建分区索引
CREATE CLUSTERED INDEX [ClusteredIndex_on_ByPartitionSchema_637313264147968282] ON [dbo].[t_rm_vip_info]( [vip_start_date])WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [ByPartitionSchema]([vip_start_date])

--删除分区索引
DROP INDEX [ClusteredIndex_on_ByPartitionSchema_637313264147968282] ON [dbo].[t_rm_vip_info]

COMMIT TRANSACTION

引用地址1:https://www.cnblogs.com/knowledgesea/p/3696912.html

引用地址2:https://blog.csdn.net/weixin_41896770/article/details/107588426

引用地址3:https://www.cnblogs.com/gered/p/8856585.html#_label0_0

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...