av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

DB2插入數(shù)據(jù)不進(jìn)行日志操作的實(shí)現(xiàn)

DB2插入數(shù)據(jù)一般都會(huì)進(jìn)行日志操作,不過下面為您介紹的方法實(shí)現(xiàn)了DB2插入數(shù)據(jù)不進(jìn)行日志操作,如果您感興趣的話,不妨一看。

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。成都創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。

在程序中需要使用下面的代碼  
          insert   into   a   select   *   from   b   where   ......  
每次插入到a表的記錄有600多萬條,每次執(zhí)行該語句DB2都會(huì)返回SQLCODE值為-964的錯(cuò)誤碼,用db2 sql0964命令查看錯(cuò)誤原因,DB2的解釋為SQL0964C   The   transaction   log   for   the   database   is   full.   然后按照DB2的說明把日志文件的大小和日志文件的數(shù)量都擴(kuò)充了,如下命令  
db2   update   db   cfg   for   MY_DATABASE   using   LOGFILSIZ   7900  
db2   update   db   cfg   for   MY_DATABASE   using   LOGPRIMARY   30  
db2   update   db   cfg   for   MY_DATABASE   using   LOGSECOND   20  
補(bǔ)充一下用的是循環(huán)日志  
   
總的日志文件擴(kuò)大到了1.5G左右,然后執(zhí)行下面的命令  
db2   "force   application   all"  
db2stop  
db2start  
db2   connect   to   MY_DATABASE   user   db2inst1   uing   db2inst1  
   
***從新調(diào)用包含insert   into   ...   select   ...語句的存儲(chǔ)過程,此次程序執(zhí)行完畢,但效率太慢。  
   
后來一想是否能使對某表進(jìn)行的DML操作不進(jìn)行日志操作,把a(bǔ)表和b表都刪除了,從新建表,建表時(shí)選擇了not   logged   initially子句,建完表后我把數(shù)據(jù)從新導(dǎo)入到b表中,***執(zhí)行包含insert   into   ...   select   ...語句的SQL存儲(chǔ)過程,DB2仍舊返回SQLCODE的值為-964的錯(cuò)誤碼。  
   
有沒有一個(gè)高效的方法(***能讓DB2執(zhí)行此類方法時(shí)不進(jìn)行日志操作)解決這個(gè)問題呢?

-------------

去除記錄日志。  
到控制中心--配置--日志--日志活動(dòng),配置成不記錄日志。

-------------

采用循環(huán)日志可以考慮調(diào)整一下數(shù)據(jù)庫的commitcount參數(shù)

-------------

使用not   logged   initially選項(xiàng)建表也是可以用的。  
但是要先激活not   logged   initially選項(xiàng);  
在DB2   CLP中的例子;  
DB2   CREATE   TABLE   A   ......   NOT   LOGGED   INITIALLY;  
DB2   +C         //關(guān)閉自動(dòng)提交選項(xiàng);  
db2=>ALTER   TABLE   A   ACTIVATE   NOT   LOGGED   INITIALLY;  
db2=>Insert   into   a   select   *   from   b;  
db2=>commit;  
commit之前由于打開了not   logged   intially選項(xiàng),后面的Sql語句不計(jì)日志;  
commit之后not   logged   intially選項(xiàng)同時(shí)被關(guān)閉;  
這個(gè)時(shí)候***執(zhí)行備份,因?yàn)槟氵@一段數(shù)據(jù)操作是沒有日志的,不利于以后恢復(fù);  
   
不過不是很推薦使用這個(gè)方法,如果要導(dǎo)入大量數(shù)據(jù),還是使用Load,Import好一些;  
想要在程序中寫也是可以的,DB2提供了API,可以參考API   Reference

【編輯推薦】

手工分析DB2 sql文執(zhí)行計(jì)劃

DB2 SQL腳本批量執(zhí)行的實(shí)現(xiàn)過程

DB2在線導(dǎo)出的方法

db2存儲(chǔ)過程常用語句

DB2 CREATE SERVER語句的用法


網(wǎng)頁名稱:DB2插入數(shù)據(jù)不進(jìn)行日志操作的實(shí)現(xiàn)
轉(zhuǎn)載來于:http://uogjgqi.cn/article/dhgoscc.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流