SQL Server 2005中的分区表(四):删除(合并)一个分区

MSSQLSERVER 分区创建 分区合并删除 分区 1.当业务生产数据量大的时候,我们需要将一个大表拆分为多个较小的表,我们要的查询更快,基本原理就是,因为要扫描的数据变的更小。维护任务重新生成索引或备份表更快的运行。 2.我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多个磁盘头同时读取数据。可以使用 阅读详情

    在前面我们介绍过如何创建和使用一个分区表,并举了一个例子,将不 同年份的数据放在不同的物理分区表里。具体的分区方式为:

    第1个小表:2010-1-1以前的数据(不包含2010-1-1)。

    第2个小表:2010-1-1(包含2010-1-1)到2010-12-31之间的数据。

    第3个小表:2011-1-1(包含2011-1-1)到2011-12-31之间的数据。

    第4个小表:2012-1-1(包含2012-1-1)到2012-12-31之间的数据。

    第5个小表:2013-1-1(包含2013-1-1)之后的数据。

    分区函数的代码如下所示:

 

 

    假设我们在创建分区表之后发现,2010年以前的数据并不多,完全可以将它们与2010年的数据进行合并,放在同一个分区里,也就是说,具体的分区方式改为:

 

    第1个小表:2011-1-1以前的数据(不包含2011-1-1)。

    第2个小表:2011-1-1(包含2011-1-1)到2011-12-31之间的数据。

    第3个小表:2012-1-1(包含2012-1-1)到2012-12-31之间的数据。

    第4个小表:2013-1-1(包含2013-1-1)之后的数据。

 

 

    由于上面的需求更改了数据分区的条件,因此,我们必须要修改分区函数,因为分区函数的作用就是要来告诉SQL Server怎么存放数据的。只要分区函数修改了,SQL Server会自动将数据重新分配,按照新的分区函数指定的方式来存储数据。

    先假设我们还没有创建过分区表,要满足上面的条件,我们必须要写出如下代码的创建分区函数的SQL语句

 

    比较一个新的分区函数和老的分区函数,看看他们有什么区别?

    的确,我们很容易就可以发现,老的分区函数里多了一个分界值——也就是'20100101'。那么,修改老的分区函数,事实上就是将这分界值删除。简单一点说,删除(合并)一个分区,事实上就是在分区函数中将多余的分界值删除。

 

    删除分区函数中的分界值,也就是修改分区函数的方法如下所示:

 

    其中:

    1、ALTER PARTITION FUNCTION 意思是修改分区函数

    2、partfunSale()为分区函数名

    3、MERGE RANGE意思是合并界限。事实上,合并界限和删除分界值是一个意思。

 

    我们可以在修改分区函数时先统计一下各物理分区中的记录总数,在修改分区之后,再统计一下各物理分区中的记录总数,看一下修改分区函数后的数据变化情况,代码如下所示:

 

    运行结果如下图所示:

 

    现在还有一个问题,就是通过修改分区函数合并数据之后,数据都存放在哪里了?在修改之前,数据分别存放在文件组Sale2009和Sale2010中,修改之后,数据放到哪里去了呢?

    事实上,在修改分区函数之后,SQL Server也会自动修改分区方案,将处于两个物理分区中的数据放在同一个物理分区里了。可以通过查看分区方案的方式来查看数据具体的存放位置。

    查看分区方案的方式为:在SQL Server Management Studio中,选择数据库-->存储-->分区方案,右击分区方案名,在弹出的菜单中选择“编写分区方案脚本为”-->CREATE到-->新查询编辑器窗口

    然后在新查询编辑器窗口可以看到下图代码。

    从上图中可以看出,分区方案将原来Sale2010文件组中的数据合并到了Sale2009文件组中。

 

 

原创不容易,转载请注明出处。http://blog.youkuaiyun.com/smallfools/archive/2009/12/04/4937878.aspx

相关链接:

SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?

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

SQL Server 2005中的分区表(三):将普通表转换成分区表 

SQL Server 2005中的分区表(四):删除(合并)一个分区

SQL Server 2005中的分区表(五):添加一个分区

SQL Server 2005中的分区表(六):将已分区表转换成普通表

 

 

SQLServer 通用的分区增加和删除的算法 本算法默认分去函数中已经包含了足够多的分区。不需要我们去动态的创建分区。 立即下载

相关推荐

基于51单片机语音识别智能台灯设计

智能台灯;语音识别;STC89C52RC单片机

Benso_H的博客 5842

SQLServer 2008R2将不同数据库但具有相同表结构的表进行合并

转自:https://bbs.youkuaiyun.com/topics/391956597 use db1 go insert into dbo.table1 select * from [db2].dbo.table2 eg. 把 database1,上表1的记录 检查是否在database2上 表1存在的记录,把不存在的记录复制到database2的同一个表去? 因为这表1 内的ID 唯一...

Andrew_jdw的博客 1645

IEEE Transaction期刊模板使用注意事项

本文将总结使用IEEE Transactions系列期刊的投稿模板时的一些注意事项,包括模板本身的使用规范、参考文献的正确格式等其他内容。

weixin_39529207的博客 2万+

SQL Server 分区表

仅个人记录学习

weixin_43888054的博客 1943

AD(AltiumDesigner)封装导入allegro生成allegro封装

AD(AltiumDesigner)封装导入allegro生成allegro封装 貌似PCB的封装问题是一个无尽话题,为了简单我总是想找捷径(主要还是太懒了),因为也是近期才开始学习使用allegro进行PCB设计,在最近的一个设计中,很多器件封装allegro中都没有,一个一个画感觉很费时间,但是在AD(AltiumDesigner)的封装库中是有的,于是便想着AD的封装库能不能倒入到alleg...

yangh2560的博客 2万+

876-基于STM32的毫米波雷达智能睡眠监测系统

基于STM32的毫米波雷达智能睡眠监测系统通过非接触式毫米波雷达检测人体呼吸频率和体动次数,结合WIFI数据传输和OLED显示,实现睡眠质量分析与远程监控。系统核心功能包括生理参数采集、阈值设置、数据可视化及远程交互。

m0_50083169的博客 1543

SQL Server部分有趣的整理(6) 分区的数据清理和合并

上一篇:SQL Server部分有趣的整理(2)分表和表分区,按日分区和分表的结合使用 前文有介绍如何对表按日分区 目前有四个分区表,随着时间推移,数据量会变的很大,这时就需要对分区进行管理,清理时间更久之前的数据 1.查询分区情况: select $partition.分区函数名称(分区字段) as partitionNum,count(*) as recordCount from 分区表 ...

Silen_p的博客 735

LAMMPS GCMC模拟保姆级教程:从fix gcmc命令到吸附等温线实战

本文提供LAMMPS GCMC模拟的详细教程,从fix gcmc命令设置到吸附等温线实战,涵盖巨正则蒙特卡洛模拟的全流程。通过MOF-5吸附甲烷的案例,指导用户构建模拟体系、转换化学势与压力、定义GCMC区域,并绘制出版级吸附等温线,助力材料科学研究。

weixin_33724046的博客 603

SQL Server 合并(删除)分区原理

<!--[if !supportLists]--&gt一、<!--[endif]--&gt准备 在SQL Server 2005版本之后就有了表分区的概念与应用,在分区操作里面有一个叫做合并分区的功...

cuanji3287的博客 286

银河麒麟V10等保加固清单:安全基线配置一篇搞定(附逐项检查表)

通过限制使用SSH直接以root身份登录,禁用公钥登录的方式加强SSH服务的安全性。更改SSH默认端口可在一定程度上防止被黑客使用大批量扫描方式攻击。通过修改SSH的配置文件限制可以使用SSH服务远程管理的主机。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 817

Navicat从入门到精通:数据库管理全攻略

本文系统梳理Navicat数据库管理工具的核心应用体系。从基础的安装与多类型数据库连接入手,详解数据库与数据表的创建、修改、删除等操作逻辑;深入数据增删改查的可视化与 SQL 语句双重操作模式,结合Excel/SQL文件的导入导出场景提供实操指南。同时覆盖数据备份恢复、跨库同步等进阶功能,以及视图、存储过程等高级应用。通过对比同类工具突出Navicat的易用性与功能性优势,并针对连接失败、字符乱码等常见问题提供解决方案,帮助读者从零基础掌握数据库全生命周期管理,提升数据操作效率与安全性。

邓邓子的博客 1896

SQL Server 2005中的分区表(四):删除(合并)一个分区 (转)

 在前面我们介绍过如何创建和使用一个分区表,并举了一个例子,将不 同年份的数据放在不同的物理分区表里。具体的分区方式为:       第1个小表:2010-1-1以前的数据(不包含2010-1-1)。       第2个小表:2010-1-1(包含2010-1-1)到2010-12-31之间的数据。       第3个小表:2011-1-1(包含2011-1-1)到2011-12-3...

mfkzhounb的专栏 163

SAP-ABAP:SAP信贷管理核心:CL_UKM_BUPA_FACTORY类完整解析与实践指南

SAP信贷管理核心类CL_UKM_BUPA_FACTORY解析 CL_UKM_BUPA_FACTORY是SAP信贷管理(UKM)模块的核心类,作为业务伙伴信贷数据的中央控制台,它提供: 统一入口:标准化实例化客户/供应商信贷对象 主要功能: 获取单条/批量业务伙伴数据 安全保存数据变更 封装底层数据访问逻辑 典型应用场景: 信贷主数据批量维护 自动化限额调整 订单信贷实时检查 性能优化建议: 使用批量方法替代循环单条处理 合理设置字段选择 实施缓存策略 该类通过简洁API简化复杂信贷操作,是SAP信贷管理开

baidu_35680696的博客 1208

SQL Server 2005中的分区表(四):删除(合并)一个分区(转)

在前面我们介绍过如何创建和使用一个分区表,并举了一个例子,将不 同年份的数据放在不同的物理分区表里。具体的分区方式为: 第1个小表:2010-1-1以前的数据(不包含2010-1-1)。 第2个小表:2010-1-1(包含2010-1-1)到2010-12-31之间的数据。 第3个小表:2011-1-1(包含2011-1-1)到2011-12-31之间的数...

weixin_30501857的博客 74

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SQL Server 2005中的分区表(五):添加一个分区

所谓天下大事,分久必合,合久必分,对于分区表而言也一样。前面我们介绍过如何删除(合并)分区表中的一个分区,下面我们介绍一下如何为分区表添加一个分区。      为分区表添加一个分区,这种情况是时常会 发生的。比如,最初在数据库设计时,只预计了存放3年的数据,可是到了第4天怎么办?这样的话,我们就可以为分区表添加一个分区,让它把新的数据放在新的分区里。再比如,最初设计时,一个分区用于存放一年的数据

学无止境 706

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SQL Server 2005 中的分区表和索引

发布日期 : 3/24/2005 | 更新日期 : 3/24/2005Kimberly L. TrippSQLskills.com 的创始人适用于:SQL Server 2005摘要:SQL Server 2005 中基于表的分区功能为简化分区表的创建和维护过程提供了灵活性和更好的性能。追溯从逻辑分区表和手动分区表的功能到最新分区功能的发展历程,探索为什么、何时以及如何使用 S

程序如人生,人生如程序... 1386

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

解惑:对SQL Server分区进行合并(删除)

一、准备 在SQL Server 2005版本之后就有了表分区的概念与应用,在分区操作里面有一个叫做合并分区的功能,也被称为删除分区。分区所处的文件组和文件是不会被删除的,只会对数据进行转移合并。合并分区时需要注意所带来的IO问题。 合并分区常见情景:发现某个分区的数据很少,为了方便管理可以考虑合并分区。需要进行统计、四则运算的时候也可以考虑合并分区,这种情形下并没有对比合并与分区之间的性能,...

weixin_34233618的博客 1253

SQL SERVER2005 分区表几何倍数提高网站性能[2]-添加、合并、删除,查询分区

前一篇文章SQL SERVER2005 分区表几何倍数提高网站性能 已经讲到了如何去为一张表创建分区,今天这里要说的就是再创建好分区后,如何对分区进行修改,比如添加范围,合并范围,查询分布之类的。废话不说,代码才是硬道理 1.首先要改变分区范围,就得给它一个位置吧,要把它放哪里吧,所以必须先给它一个存在的位置使用关键字next used 添加一个组 ALTERDATABASE[...

diehuili5079的博客 131

[sql server] SQL Server 2005中的分区表

SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?SQL Server 2005中的分区表(二):如何添加、查询、修改分区表中的数据SQL Server 2005中的分区表(三):将普通表转换成分区表 SQL Server 2005中的分区表(四):删除(合并)一个分区SQL Server 2005中的分区表(五):添加一个分区SQL Server 2005中的分区表(六):将已分区表转换成普通表

永生天地 1973

SQL Server 2005中的分区表(六):将已分区表转换成普通表

    我的俄罗斯名叫作“不折腾不舒服斯基”,所以,不将分区表好好折腾一下,我就是不舒服。    在前面,我们介绍过怎么样直接创建一个分区表,也介绍过怎么将一个普通表转换成一个分区表。那么,这两种方式创建的表有什么区别呢?现在,我又最新地创建了两个表:    第一个表名为Sale,这个表使用的是《SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表

没有标题,只有问题 1万+
上一篇: SQL Server 2005中的分区表(三):将普通表转换成分区表
下一篇: SQL Server 2005中的分区表(五):添加一个分区
smallfools
博客等级 码龄24年 176粉丝 76原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值