SQL SERVER 2008 表分区

2024年Ms sqlserver2008 R2大数据表的分区实现,经典实战教程 这里需要说明的一下,在Values中,‘20100101’、‘20110101’、‘20120101’、‘20130101’,这些都是分区的条件。这是由AS RANGE RIGHT中的RIGHT所决定的,RIGHT的意思是将等于这个值的数据放在右边的那个表里,也就是表2中。分区函数的作用是告诉SQL Server,如何将数据进行分区,而分区方案的作用则是告诉SQL Server将已分区的数据放在哪个文件组中。第2个小表:2010-1-1(包含2010-1-1)到2010-12-31之间的数据。 阅读详情

表分区涉及到几个关键概念:


第一步:创建文件和文件组,并将相应的文件挂入相应的文件组

--增加文件组并给文件组增加文件
ALTER DATABASE DEMO ADD FILEGROUP FILE_GROUP_1
ALTER DATABASE DEMO ADD FILEGROUP FILE_GROUP_2
ALTER DATABASE DEMO ADD FILEGROUP FILE_GROUP_3

--给各个文件组增加相应的数据文件ndf
ALTER DATABASE DEMO
ADD FILE
(NAME=FG1_FILE,
FILENAME='D:\DATA2\FG1_FILE.NDF',
SIZE=1,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
TO FILEGROUP FILE_GROUP_1
--第二个文件组
ALTER DATABASE DEMO
ADD FILE
(NAME=FG2_FILE,
FILENAME='D:\DATA2\FG2_FILE.NDF',
SIZE=1,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
TO FILEGROUP FILE_GROUP_2
--第三个文件组
ALTER DATABASE DEMO
ADD FILE
(NAME=FG3_FILE,
FILENAME='D:\DATA2\FG3_FILE.NDF',
SIZE=1,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
TO FILEGROUP FILE_GROUP_3

第二步:定义分区函数,定义如何根据某些列的值将表或索引的行映射到指定分区。分区函数制定了分区的方式。

USE DEMO
CREATE PARTITION FUNCTION pf_OrderDate (datetime)   
AS RANGE RIGHT   
FOR VALUES ('2006/01/01', '2007/01/01') 
GO

注解:datetime是分区依据字段的数据类型,RIGTH是第一个分区小于边界,第二个分区大于等于边界,依次类推, VALUES是各个边界

FILE_GROUP_1    1        (过去某年, 2006/01/01)
FILE_GROUP_2    2        [2006/01/01, 2007/01/01)
FILE_GROUP_3    3        [2007/01/01,未来某年)

第三步:定义分区方案,负责分配分区函数中设定的每个分区属于哪个文件组

USE DEMO
CREATE PARTITION SCHEME ps_OrderDate 
AS PARTITION pf_OrderDate TO (FILE_GROUP_1,FILE_GROUP_2,FILE_GROUP_3);
GO

第四步:创建分区表并将其绑定到分区方案上,表在创建的时候就已经决定是否是分区表了。

USE DEMO
CREATE TABLE ORDERS
(
	ORDER_ID INT,
	ORDER_DATE DATETIME NOT NULL,
	CUSTOMER_ID INT NOT NULL
)
ON ps_OrderDate(ORDER_DATE)

USE DEMO
CREATE TABLE ORDERS_HISTRORY
(
	ORDER_ID INT,
	ORDER_DATE DATETIME NOT NULL,
	CUSTOMER_ID INT NOT NULL
)
ON ps_OrderDate(ORDER_DATE)

第五步:按分区进行查询数据

USE DEMO
SELECT * FROM ORDERS
WHERE $PARTITION.pf_OrderDate (ORDER_DATE)=3;

注解:$PARITITION.pf_OrderDate (ORDER_DATE)=3 表示查询第三个分区


第六步:分区表中的数据按区进行备份(归档)

USE DEMO
go
alter table orders switch partition 1 to orders_histrory partition 1
go

主要参考文章, 推荐文章:

参考文献1: 深入分析SQL SERVER 2008 分区函数和分区表

参考文献2:SQL SERVER 分区具体例子讲解

参考文献3: SQL SERVER分区分表水平

参考文献4: SQL SERVER磁盘空间告急(扩容)

















sql server 2008 创建分区表 sql server 2008  创建分区表的记录,备忘。另外也可以通过图形化界面操作,具体过程略。 1、创建文件组 alter database sezn add filegroup first01 alter database sezn add filegroup first02 alter database sezn add filegroup first03 2、创建保存... 阅读详情

相关推荐

sqlserver 2008创建表分区

NULL 博文链接:https://baobeituping.iteye.com/blog/1276907

sql server 2008 表分区

SQL Server 2008 表分区 在SQL Server数据库管理系统中,表分区是一种用于将表分割成多个逻辑部分的技术。通过对表进行分区,可以提高查询性能、提高数据管理效率,并且能够更好地处理大量数据。SQL Server 2008引入了表分区功能,为开发人员和数据库管理员提供了更多灵活性和性能优化选项。 什么是表分...

weixin_40716612的博客 193

SQL Server 2008 分区函数和分区表详解

详细的说明了sql server2008数据库中分区表的工作原理,并详细的介绍了使用方法,特此上传,必备留用。

SQL Server 2005中的分区表(二):如何添加、查询、修改分区表中的数据

    在创建完分区表后,可以向分区表中直接插入数据,而不用去管它这些数据放在哪个物理上的数据表中。接上篇文章,我们在创建好的分区表中插入几条数据:"50" rows="15" name="code" class="c-sharp">insert Sale ([Name],[SaleTime]) values (张三,2009-1-1)insert Sale ([Name],[Sa

没有标题,只有问题 2万+

大数据分表,SQL千万级分表

SQL,大数据分表,SQL千万级分表,删除百万数据

复用浏览器之跳过扫码登录

复用浏览器 1、通过命令启动浏览器:chrome --remote-debugging-port=9222(前提是退出所有的chrome浏览器) 2、启动浏览器之后,在地址栏输入127.0.01:9222,成功复用如下图所示:

qq_43911915的博客 2033

深入浅出SQL Server 2008 分区函数和分区表

    当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。    我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查...

weixin_34327761的博客 574

从UE4到Unity:双叶高光技术在角色皮肤渲染中的移植全流程

本文详细解析了将UE4中的双叶高光技术移植到Unity引擎的全流程。该技术通过模拟皮肤油脂层和真皮层的不同反射特性,能显著提升角色皮肤渲染的真实感。文章从核心原理、贴图资产处理、Shader代码重构到参数调校,提供了完整的跨引擎移植实战指南,帮助开发者实现高质量的皮肤质感还原。

alice7model的博客 476

使用SQL Server 2008提供的表分区向导

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!陈希章 原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/04/29/1445834.html原文标题:使用SQL Serve

陈希章@中国 1013

k8s RoCE 部署: k8s-rdma-shared-dev-plugin + macvlan cni

写给自己的入门篇 文章目录前言一、创建 k8s 集群二、启用 primary network三、启用 secondary networkk8s-rdma-shared-dev-pluginMultus CNISecondary CNIMulti-Network CRD四、启用 pod五、在 pod 中启动 RoCE 流量总结 前言 写给自己的扫盲篇。后续会在原理方面持续更新 一、创建 k8s 集群 k8s 集群的创建有多种方法,可以按照官方文档的说明来.

sunshuying1010的博客 9774

Power Bi数据分析案例:在线零售平台销售数据分析

该数据集为,涵盖2023年1月至2024年3月,包含用户群体特征、购买行为、产品偏好以及参与度指标。用户维度:Customer_ID,Age,Gender,City产品维度:Product_Category,Unit_Price事实表:Order_ID,Quantity,Total_Amount,Discount_Amount,Rating,Delivery_Time在Power Query当中处理销售日期列,并新增年龄段、浏览页面分段列。

2301_79586168的博客 1277

【转载】使用SQL Server 2008提供的表分区向导

表分区(Partition Table)是自从SQL Server 2005就开始提供的功能,解决的问题是大型表的存储和查询。     我们之前大致的语法是这样的 -- ========================= -- 演示:陈希章 -- 如何创建分区函数 -- 如何创建分区架构 -- 如何创建分区表 --========================= alter...

weixin_33995481的博客 117

NHANES数据库实战:数据合并与加权分析技巧

本文详细解析了NHANES数据库实战中的核心技巧,重点阐述了数据合并与加权分析的正确方法。通过两个具体案例,手把手指导如何从数据下载、合并、权重计算到使用R语言survey包进行加权统计分析,避免因忽略复杂抽样设计而导致的研究偏倚,确保分析结果的准确性与可发表性。

weixin_29057065的博客 585

sql server2008 表分区

1、单表达多少条数据后需要分区呢?    a.个人认为要似情况而定,有些常操作的表,分区反而带来麻烦,可以采用物理分表以及其它方法处理;    b.对于一些日志、历史订单类的查询数据,500w左右即可享受分区带来的优越性;    c.可以将分区映射到文件组,每个分区访问一个不同的物理磁盘驱动器,以便提高 I/O 性能    2、sql server 2008 中怎么分呢?    a.

鲁班学艺 5475

【LabVIEW面向对象编程01】简介

记得刚接触labview那会儿,领导让我在测试设备上写一个简单的日志记录程序,自己反反复复查阅资料才简单的写了一个实在是撇脚的程序,后来领导趁着工作之余给我大致讲解了几个函数的用法,然后简单的改了一下,程序就像突然有了灵魂一样,简单好用,从那时起就对labview产生了兴趣,一发不可收拾,那时经常一个人熬夜学习,现在已然没有那种动力了,哎,年轻就是好。接下来我们为学生类创建一个对象,新建一个VI,打开程序框图,直接将我们项目中的类拖到程序框图,它就成为一个实实在在的对象,我们将其命名为studentA。

weixin_43476034的博客 671

Qt入门教程【基础控件篇】QLineEdit输入框

QLineEdit输入框

小鱼酱的博客 3260

Easy Table Partitions with SQL Server 2008(转sql2008表分区)

Introduction We all know we have to work with loads of data every day and over the time with the growth of the organization the data bank also grows tremendously. We see there is a performance degrad...

weixin_34004750的博客 98

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: Centos7 安装JDK和Eclipse Oxygen
下一篇: CentOS7 安装 mysql8
Coder-Qian
博客等级 码龄11年 63粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值