<DB2>《DB2创建分区表及相关操作》(精华)

news2024/11/24 15:36:47

《DB2创建分区表及相关操作》

  • 1 基本概念
  • 2 操作
    • 2.1 查看数据库中存在的分区表
    • 2.2 查看分区表详细
    • 2.3 断开对数据表的访问连接
    • 2.4 备份数据
    • 2.5 拆离分区
    • 2.6 添加分区
    • 2.7 导入数据
    • 2.8 校验前后数据
    • 2.9 删除临时表数据

1 基本概念

当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。分区后的表称为分区表

表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个“表空间”(物理文件上),这样查询数据时,不至于每次都扫描整张表而只是从当前的分区查到所要的数据大大提高了数据查询的速度。

优点:

A 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
B 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用
C 如果表的某个分区出现故障,需要修复数据,只修复该分区即可。例如:数据清理时对分区进行清理,只需要清理相关日期的分区即可。
D 均衡I/O:可以把不同的分区映射到不同磁盘以平衡I/O,改善整个系统性能。

2 操作

2.1 查看数据库中存在的分区表

select t.TABSCHEMA,t.TABNAME as Tablename,t.c as NumPartion from (select TABSCHEMA,TABNAME,count(*) as c from sysibm.SYSDATAPARTITIONS group by (TABSCHEMA,TABNAME)) as t where t.c>1

2.2 查看分区表详细

db2 describe data partitions for table DB2INST1.TBL_EXTERNALPAYMENTAFINFO
或
db2 describe data partitions for table DB2INST1.TBL_EXTERNALPAYMENTAFINFO show detail
//说明:这里的表要加模式名

在这里插入图片描述
1、英文含义

PartitionIdInclusiveLow ValueHigh Value
分区序列包含(这里对边界进行判断)分区起始分区结束

2、N—不包含边界; Y—包含边界
3、序列是系统自动分配
4、拆分:将一个分区拆分两个新分区,拆离后的分区将独立存在。
5、添加分区指的是:将最后一个分区拆离,添加新的分区后,再将最后一个分区的数据导入。

2.3 断开对数据表的访问连接

说明:应用访问分区数据可能导致拆分失败;数据如果写入已拆离不存在的分区则可能丢失数据。

1、停止应用
2、数据库中执行命令:db2 force applications all

2.4 备份数据

1-备份整表的数据;注意要统计表的数据量
2-db2 “export to ./path ……”
3-db2 “select count(1) from tblname with ur”

2.5 拆离分区

查看分区表

db2 describe data partitions for table DB2INST1. TBL_EXTERNALPAYMENTAFINFO

拆离分区至新的表

db2 ALTER TABLE DB2INST1.TBL_EXTERNALPAYMENTAFINFO DETACH PARTITION OTHERS2 INTO TBL_EXTERNALPAYMENTAFINFO_2017
说明:

1、ALTER 和 DETACH PARTITION 都为固定格式detach 拆离
2、TBL_EXTERNALPAYMENTAFINFO_2017是新建的表名,可以任意,一般为了方便与原表相似。
3、拆离后的分区数据放在表TBL_EXTERNALPAYMENTAFINFO_2017中
4、OTHERS2 是最后一个分区的分区ID,同表中的109
5、拆离分区会自动创建表,无需提前创建。
6、拆离分区需要等一会,几秒钟到1-3分钟。此时,sysibm.SYSDATAPARTITIONS中原表的DATAPARTITIONNAME分区显示为SQL210110102024000情况。

2.6 添加分区

说明:添加新增的分区,脚本如下。

CONNECT TO BIZ;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO  ADD PART DATAPT108 STARTING(MINVALUE) ENDING('2017-01-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT109 STARTING('2017-01-01') ENDING('2017-02-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT110 STARTING('2017-02-01') ENDING('2017-03-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT111 STARTING('2017-03-01') ENDING('2017-04-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT112 STARTING('2017-04-01') ENDING('2017-05-01') EXCLUSIVE IN TBS_RPDATA1;
---
---
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT154 STARTING('2020-10-01') ENDING('2020-11-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT155 STARTING('2020-11-01') ENDING('2020-12-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART DATAPT156 STARTING('2020-12-01') ENDING('2021-01-01') EXCLUSIVE IN TBS_RPDATA1;
ALTER TABLE DB2INST1.TBL_DOMESTICPAYMENTAFINFO ADD PART OTHERS2   STARTING('2021-01-01') ENDING(MAXVALUE) EXCLUSIVE IN TBS_RPDATA1;
COMMIT WORK;
CONNECT RESET;
TERMINATE;

2.7 导入数据

说明:导入拆离分区备份的数据。

2.8 校验前后数据

说明:验证添加分区后数据是否与拆分前数据量相同。

2.9 删除临时表数据

db2 drop table DB2INST2.TBL_EXTERNALPAYMENTAFINFO_2017

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Kettle实现数据排序

一、Kettle的安装 1.下载Kettle的安装包文件 在Windows系统中打开浏览器,访问Kettle官网(https://sourceforge.net/projects/pentaho/),下载Kettle安装文件pdi-ce-9.1.0.0-324.zip。 或者在我的百度网盘分享里面下载 链接&…

【软件测试】软件测试总结笔记(2)

软件测试过程(内容) 1.单元测试基本概念定义⭐单元测试环境⭐单元测试内容单元测试用例的设计思路⭐单元测试的过程 2. 集成测试集成测试内容集成测试优点⭐集成测试层次集成测试方法Drivers and Stubs ⭐集成策略(基于分解的集成&#xff09…

crontab定时任务介绍

1 crontab概述 crontab是linux操作系统上用来设置定时任务的基础命令,是基于crond服务实现任务调度执行。 当安装完成操作系统后,默认会安装crond服务及其附属命令,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执…

Python量化交易:策略创建运行流程

学习目标 目标 知道策略的创建和运行知道策略的相关设置知道RQ的策略运行流程应用 无 1、体验创建策略、运行策略流程 1.1 创建策略 1.2 策略界面 2、 策略界面功能、运行介绍 2.1 一个完整的策略需要做的事情 选择策略的运行信息: 选择运行区间和初始资金选择回…

水库大坝安全问题有哪些?

我国现有水库大坝9.8万余座,80%水库大坝修建于上世纪50至70年代,受经济、技术等历史因素的影响,存在坝体结构破损、坝基渗漏、坝体渗漏、坝面变形等严重的安全隐患。 一、水库大坝的安全问题主要包括以下几个方面: 1.坝体结构破损…

“微商城”项目(3页面布局)

1.设置标题 设置页面头部标题,方便告诉用户当前显示的是哪一个页面。编辑src\router.js文件,示例代码如下。 routes: [{ path: /, redirect: /home, meta: { title: 首页 } },{ path: /home, component: Home, name: home, meta: { title: 首页 } } ] …

ConditionObject的await方法分析

ConditionObject的await方法分析 判断当前线程是否中断,中断直接抛出非法监视器状态异常要是没有中断则通过addConditionWaiter()方法将该节点加入到Condition的单向链表中通过fullyRelease(node)方法一次新释放掉锁资源初始化一个状态模式为0的标记执行while判断&…

Linux基础【Linux开发】

Linux基础【Linux开发】 1.Linux系统结构2.Linux内核下载流程3. 文本编辑器4. 软件包管理5. shell命令5.1 shell作为命令语言5.2 shell作为编程语言 6. makefile工程管理文件 1.Linux系统结构 2.Linux内核下载流程 Linux内核官方网站👇 3. 文本编辑器 vim 老…

TextCNN:用于文本分类的CNN网络

参考资料:文本分类之TextCNN与DPCNN TextCNN 是在2014年的论文 《Convolutional Neural Networks for Sentence Classification》中提出来的。 以下是TextCNN的网络结构: (1)TextCNN的第一层为 Embedding 层 Embedding 层的输入…

C++的右值引用和移动语义

1.左值和右值 在C中,每个表达式或者是左值,或者是右值。 左值(lvalue):可以出现在赋值表达式左侧的值,例如变量名a、数据成员a.m、解引用表达式*p等。左值可以被赋值和取地址。右值(rvalue):只能出现在赋值表达式右侧…

十七、多线程(下)

文章目录 一、线程互斥,它是对的,但是不合理(饥饿问题)——同步二、条件变量(一)概念(二)条件变量接口1. pthread_cond_init 创建条件变量2. pthread_cond_wait 等待条件满足3. pthr…

类的成员之:构造器(构造方法)

1.构造器的特征: 它具有与类相同的名称它不声明返回值类型。(与声明为void不同)不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值 2.构造器的作用: 1.创建对象2.初始化对象的…

StackLLaMA: A hands-on guide to train LLaMA with RLHF

Paper name StackLLaMA: A hands-on guide to train LLaMA with RLHF Paper Reading Note Project URL: https://huggingface.co/blog/stackllama Code URL: https://huggingface.co/docs/trl/index TL;DR Huggingface 公司开发的 RLHF 训练代码,已集成到 hugg…

产品设计-产品设计五要素

概念介绍 产品设计五要素分别是:战略层、范围层、结构层、框架层、表现层。自上而下的分析可用来分析已有的产品,自下而上分析则可以用来创造新的产品。下面是各个层级所包括的内容: 战略层:产品目标和用户需求(做什…

【STL(2)】

STL(2) 知识点回顾函数对象函数对象理解系统的仿函数仿函数应用 容器适配器stackdeque queuepriority_queue mapmap使用插入访问下标访问的应用:计算文件中单词的个数 知识点回顾 在STL库中存在三个容器适配器,stack - queue - p…

西门子200系列PLC学习课程大纲(课程筹备中)

西门子200系列PLC学习课程大纲如下表所示,共106课,关注我,让你从菜鸟变大神。 第1课西门子200PLC概述S7-200 PLC新特性是什么第2课S7-200 PLC的CPU介绍第3课S7-200 PLC编程软件介绍第4课S7-200 PLC通信方式有哪些第5课S7-200 PLC显示面板介绍…

6.1——我在CSDN的创作纪念日

文章目录 ⭐前言⭐相遇CSDN⭐切换到编程赛道的契机💖 好好的美工为什么切换编程赛道💖 转换编程赛道的催化剂 ⭐写博客的目的——写给未来的自己💖 初衷——为学习铺路💖 博客是灯——照亮前行的路💖 博客是路——互联…

wenet-基于预训练模型进行增量训练

1867-154075-0014 重中之重 run.sh脚本分析 wenet aishell脚本解析_weixin_43870390的博客-CSDN博客 一、准备工作 第一步:准备训练数据,拷贝到远程服务器 将准备好的数据文件0529_0531_dataset,上传到恒源云上的/hy-tmp/wenet/example…

数据结构与算法10:递归树、Trie树、B+树

目录 【递归树】 【Trie 树】 【B树】 【每日一练:最长公共前缀】 【递归树】 递归的思想是将大问题分解为小问题,然后再将小问题分解为更小的问题,直到问题的数据规模被分解得足够小,不用继续递归分解为止。如果把这个一层…

Effective第三版 中英 | 第2章 创建和销毁对象 | 用私有构造器或者枚举类型强化 Singleton 属性

文章目录 Effective第三版前言第二章 创建和销毁对象用私有构造器或者枚举类型强化 Singleton 属性 Effective第三版 前言 大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 effective-java 书籍。同时也把自己学习该书…