日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DB2处理数据由原来六小时优化到二十分钟(一)

發布時間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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处理数据由原来六小时优化到二十分钟(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。