SQL--表分区

use Test
--0000.创建数据库文件组>>alter database <数据库名> add filegroup <文件组名>
ALTER DATABASE TEST ADD FILEGROUP ByIdGroup1
ALTER DATABASE TEST ADD FILEGROUP ByIdGroup2
ALTER DATABASE TEST ADD FILEGROUP ByIdGroup3

--创建数据文件到文件组里面>>alter database <数据库名称> add file <数据标识> to filegroup <文件组名称>
ALTER DATABASE TEST ADD FILE
(NAME=N'ById1',filename=N'E:测试项目sql分区ById1.ndf',size=5mb,filegrowth=5mb)
TO FILEGROUP ByIdGroup1
ALTER DATABASE TEST ADD FILE
(NAME=N'ById2',filename=N'E:测试项目sql分区ById2.ndf',size=5mb,filegrowth=5mb)
TO FILEGROUP ByIdGroup2
ALTER DATABASE TEST ADD FILE
(NAME=N'ById3',filename=N'E:测试项目sql分区ById3.ndf',size=5mb,filegrowth=5mb)
TO FILEGROUP ByIdGroup3
--直接使用向导>>右键到要分区的表--- >> 存储 --- >> 创建分区 --- >>显示向导视图 --- >> 下一步 --- >> 下一步...
--或者继续看下面用SQL语句完成...

--0001.创建分区函数--以测试表的ID[INT]列为分区列
CREATE PARTITION FUNCTION Fn_Partition(int)
AS RANGE RIGHT
FOR VALUES(0,100)
--查看分区表是否创建成功
SELECT * FROM SYS.partition_functions

--0010.基于之前的分区函数创建分区架构SCHEME
CREATE PARTITION SCHEME SchemaForPartition
AS PARTITION Fn_Partition -- 这个是刚才创建的分区函数
TO(FileGroup1,[primary],FileGroup1)--FileGroup1是自己添加的文件组,因为有两个分界值,3个分区,所以要指定3个文件组,也可以使用ALL所谓的分区指向一个文件组
--查看已创建的分区架构
SELECT * FROM sys.partition_schemes

 

引用:

首先第一点,它一定要提的是mdf和ldf分开两个盘放的问题,

第二点,表分区的事情,

第三点文件组的事情,

第四点,可以考虑数据库拆分冷热分离的事情。最后才是分库分表的事情。

原文地址:https://www.cnblogs.com/love-zf/p/6038801.html