DB2处理数据由原来六小时优化到二十分钟(一)
很高兴,你阅读此篇我自己整理的文章,首先需要说明一下,此篇文章适合初学和刚接触DB2的开发人员阅读,如果你自认觉得能力很好,可以绕开。
此篇文章也是结合我实际经验对其进行整理,也是自己的一个总结。在前段时间给银行做项目,由于银行的数据是由第三方公司开发,故我们需要的接口数据需要我们自己来处理,经过几次交涉,最终决定我们自己来处理数据。当看到数据中心发来的数据文件时,哇,一下处理16张表,表关系如何,我们还要自己去分析。经过一周时间对表关系进行分析,然后着手准备如何将16张表数据整理成一张我们系统需要的接口表,这也是一个难题。
在这里大概说一下处理数据的要求:
1. 根据业务关系从16张表取出一张表数据。
2. 在银行提供的16张表对应的txt文件有一半的数据量在百万以上。并且每天都是全量
3. 必须每天将16张表数据导入DB2数据库中,导入之前需要先清空16张表
4.必须在早上把数据处理完毕。不能影响白天业务。
根据以上要求,自己开始着手写处理数据,想到对数据处理,就采用了DB2的存储过程。但是像清空表等很多都是影响效率的。
第一:清空表优化
开始我们清空表用的是
db2 delete from tablename;
但是这样速度是超级慢,并且如果采用delete会记录日志,影响数据库性能。
后来我们采用的是:
db2 import from d:\empty.del of del replace into tablename
empty.del是一个空的文件。这样执行起来只需几秒时间就将一个表清空了。
还可以采用:
DECLARE VAR_sql varchar(128);--
SET VAR_sql='ALTER TABLE AUTEK.UTMCA ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE';--
EXECUTE IMMEDIATE VAR_sql; --这种删除也是很快的
第二:删除优化
在处理DB2数据过程中少用删除delete操作,用select比删除操作快很多。
第三:重组表结构
当我们使用load from 数据时候突然中断就会导致 SQL0668N 具体参考我之前发的一篇文章:
http://blog.csdn.net/cuiran/article/details/7226541 Operation not allowed for reason code SQL0668N
此时我们需要db2 load from d:\empty.del of del terminate into tablename.
未完待续..............
DB2处理数据由原来六小时优化到二十分钟(一)相关推荐
- 我的MYSQL学习心得(十六) 优化
原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...
- 大数据存储系统I/O性能优化技术研究进展
大数据存储系统I/O性能优化技术研究进展 肖利民,霍志胜 北京航空航天大学计算机学院,北京 100191 摘要:大数据存储系统的I/O性能是影响大数据应用整体性能的关键因素之一,总结了当前在存储系统架 ...
- 花书+吴恩达深度学习(六)优化方法之 Mini-batch(SGD, MBGD, BGD)
目录 0. 前言 1. Batch gradient descent(BGD) 2. Stochastic gradient descent(SGD) 3. Mini-batch gradient d ...
- xquery_使用XQuery查询DB2 XML数据
xquery 您可能已经听到有关DB2 V9的嗡嗡声,DB2 V9是IBM第一个同时支持表格(基于SQL)和分层(基于XML)数据结构的数据库管理系统. 该系列的前几篇文章总结了DB2的新XML功能, ...
- DB2相关数据库命令
DB2相关数据库命令 1.数据库实例的启动 首先要启动数据库的实例,即切换到db2inst1用户(注:db2inst1用户为当前数据库的实例),然后执行db2start启动数据库的实例 [root@l ...
- 打怪升级之小白的大数据之旅(六十七)<Hive旅程第八站:Hive的函数>
打怪升级之小白的大数据之旅(六十七) Hive旅程第八站:Hive的函数 上次回顾 上一章,我们学习了如何对数据进行拆分–分区表与分桶表,使用分区表与分桶表,可以加快我们的查询效率..本章节是Hive ...
- 从BAT看企业构建大数据体系的六层级
文章讲的是从BAT看企业构建大数据体系的六层级,本文将企业大数据体系的构建分为六个层级,但并非是线性过程,每个层级之间或有基础关系,但并不是说一定要逐层构建.例如创业型公司,在缺乏数据研发实力的时候, ...
- 大数据培训:HiveSQL技术优化与面试
Hive SQL 编译成MapReduce过程 编译 SQL 的任务是在上节中介绍的 COMPILER(编译器组件)中完成的.Hive将SQL转化为MapReduce任务,整个编译过程分为六个阶段: ...
- 2021年大数据ELK(六):安装Elasticsearch
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 安装Elasticsearch 一.创建普通用户 二.为普通用户 ...
最新文章
- pyqt设置按钮边框
- 怎样通过vb设置透视表多项选择_数据透视表有多强大?
- linux 开机自动启动服务
- JS构造map/dict结构
- ajaxfileupload 访问不到后台_一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)...
- (转)求单链表是否有环,环入口和环长
- html5 indexeddb 排序,html5 – 在IndexedDB中,有没有办法进行排序复合查询?
- 数据库系统实训——实验六——游标
- Linux Gedit 报出警告
- 用MATLAB编程课程设计,matlab课程设计报告---用Mtlab编程实现句柄图形应用
- ps mysql进程_ps(Process Status)进程状态:列出当前正在运行的进程
- 机器狗变种、磁碟机查杀方法及注意事项
- 中国石油大学《大学语文》在线考试
- c语言共阴极数码管数字6,用51单片机C语言编写程序实现6位共阴极数码管循环显示0123456789ABCDEF,六个数码管是连续不同的六个数?...
- 项目延期常见的原因及解决方法
- Appium(Python)测试混血App
- 操作系统——时间片轮转调度算法(RR)
- uname -r和uname -a
- SteamVR 2.x UGUI交互系统(7)
- Java使用poi和jfreechart生成excel图表图片
热门文章
- 目录树算法(毗邻目录模式、预排序遍历树算法)
- dash dock安装 to_手动安装 Dash to Dock Gnome 扩展
- 黑马程序员--第一阶段5.JavaAPI--第13天
- iMeta | 华南农大陈程杰/夏瑞等发布TBtools构造Circos图的简单方法
- 华大HC32A460 系列介绍(一)
- 【翻译论文】 Supervised Parametric Classification of Aerial LiDAR Data(2004)
- Oracle sqlplus 常用命令总结
- PC市场如何再起波澜?荣耀的创新或是答案
- Mac电脑高手都会用的10个Mac OS实用技巧,都是干货值得收藏!
- SQL Server无法连接到本地数据库