SQL SERVER
2005 分区表实际应用例子
定义,原理网上讲得多了.在这就不费口舌,记录下创建过程.
一. 最基本,最重要的一步就是创建分区函数.创建分区函数首先要确定分区键--既按照哪字段来进行分区.在这个例子里,我用记录的时间来作为分区键,由于数据量的问题,最终决定每个月的数据放一个单独的分区.
CREATE PARTITION FUNCTION FiveYearDateRangePFN(datetime)
AS
RANGE LEFTFORVALUES (
"20060930 23:59:59.997", -- 2006 年 9 月
"20061031 23:59:59.997", -- 2006 年 10 月
"20061130 23:59:59.997", -- 2006 年 11 月
"20061231 23:59:59.997", -- 2006 年 12 月
"20070131 23:59:59.997", -- 2007 年 1 月
"20070228 23:59:59.997", -- 2007 年 2 月
"20070331 23:59:59.997", -- 2007 年 3 月
"20070430 23:59:59.997", -- 2007 年 4 月
"20070531 23:59:59.997", -- 2007 年 5 月
"20070630 23:59:59.997", -- 2007 年 6 月
"20070731 23:59:59.997", -- 2007 年 7 月
"20070831 23:59:59.997", -- 2007 年 8 月
"20070930 23:59:59.997", -- 2007 年 9 月
"20071031 23:59:59.997", -- 2007 年 10 月
"20071130 23:59:59.997", -- 2007 年 11 月
"20071231 23:59:59.997", -- 2007 年 12 月
.......
}
GO
二. 上一步是完成一个概念上的分区,接下来要完成一个物理的构建,使得属于不同分区的数据存储到不同的物理文件上去.
a.创建文件组
--File group for 2006
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200609]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200610]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200611]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200612]
--File group for 2007
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200701]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200702]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200703]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200704]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200705]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200706]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200707]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200708]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200709]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200710]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200711]
ALTERDATABASE MyDB ADD FILEGROUP [Teaching200712]
......b.创建物理文件,在这里,为了方便起见,我把每个物理文件放到了一个单独的文件组里面.
--Add file for 2006
ALTERDATABASE MyLuDB
ADDFILE
(NAME = N"Teaching200609",FILENAME = N"D:/MyData/MyLu/Teaching200609.ndf",SIZE = 5MB,MAXSIZE =100MB,FILEGROWTH = 5MB)
TO FILEGROUP [Teaching200609]
ALTERDATABASE MyLuDB
ADDFILE
(NAME = N"Teaching200610",FILENAME = N"D:/MyData/MyLu/Teaching200610.ndf",SIZE = 5MB,MAXSIZE =100MB,FILEGROWTH = 5MB)
TO FILEGROUP [Teaching200610]
ALTERDATABASE MyLuDB
ADDFILE
(NAME = N"Teaching200611",FILENAME = N"D:/MyData/MyLu/Teaching200611.ndf",SIZE = 5MB,MAXSIZE =100MB,FILEGROWTH = 5MB)
TO FILEGROUP [Teaching200611]
......
三. 创建完分区函数,接下来就要建立分区架构,用来将概念上的分区和文件组(物理文件)关联起来.
CREATE PARTITION SCHEME [FiveYearDateRangePScheme]
AS
PARTITION FiveYearDateRangePFN TO
( [Teaching200609],[Teaching200610],[Teaching200611],[Teaching200612],
[Teaching200701],[Teaching200702],[Teaching200703],[Teaching200704],
[Teaching200705],[Teaching200706],[Teaching200707],[Teaching200708],
[Teaching200709],[Teaching200710],[Teaching200711],[Teaching200712],
......
[PRIMARY] )
GO
MS SQL Server 2005 分区表的使用(表分区)SqlServer表分区相关资讯 SQL Server 2005 sqlserver表分区 SQL SERVER 2005 分区表
- SQL Server 2005不会再收到安全更 (05月06日)
- SQL Server 2005 即将终止服务 你 (12/21/2015 20:43:42)
- SQL Server 2005 海量数据解决方案 (11/21/2012 09:49:40)
| - SQL Server 2005生命周期将于2016 (04月07日)
- SQL Server 2005数据库读写分离 (11/21/2012 09:52:38)
- SqlServer表分区 (11/21/2012 09:46:14)
|
本文评论 查看全部评论 (1)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
- 本站有权在网站内转载或引用您的评论
- 参与本评论即表明您已经阅读并接受上述条款
| |