JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Object Relational Mapping » Hibernate  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 如何處理Transaction log爆掉的問題
godspeed1979





發文: 9
積分: 0
於 2011-01-14 11:48 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
作業系統: WINDOWS SERVER 2003; 資料庫: DB2 9.5

設有兩個TABLE A跟B,其中A TABLE有10萬筆資料,我必須全部讀取出來,

每一筆資料經過計算後會產生約60筆資料存入B TABLE,

因此這支程式跑完後大約會在B TABLE存入600萬筆資料。

在讀A TABLE時,為了避免記憶體爆掉所以我使用了ScrollableResults,

令Hiberante逐筆讀取資料,而非全部讀取並存放在記憶體,這個部分沒有問題。

而每一個A物件會產生20個B物件並存放在記憶體,但是我在設定檔中使用了

<property name="jdbc.batch_size">100</property>

並在程式當中搭配 session.flush();的語法來做批次處理,這部分也沒有問題。

雖然調整過DB2的循環日誌大小與數量,DB2的autocommit也是開啟的,

DB2的Transaction log還是爆了!!

我不能無限制循環日誌,因此我勢必要在程式上做修改了,但是應該要怎麼修改呢?

我的程式結構都是非常基本的型態:

Session session = HibernateHelper.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
//商業邏輯
tx.commit();
session.close();


在使用Hibernate的情況下,應該如何實現分段update的想法呢?

麻煩各位大大幫忙了,謝謝!

(另一個詭異的地方在於,在PostgreSQL資料庫中就沒有這樣的問題。)


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
979 如何處理Transaction log爆掉的問題 godspeed1979 800 2011-01-14 11:48
830 Re:如何處理Transaction log爆掉的問題 koji 62 2011-01-14 14:17
861 Re:如何處理Transaction log爆掉的問題 godspeed1979 19 2011-01-14 14:31
850 Re:如何處理Transaction log爆掉的問題 godspeed1979 1900 2011-01-14 14:46
905 Re:如何處理Transaction log爆掉的問題 koji 21 2011-01-14 18:45
759 Re:如何處理Transaction log爆掉的問題 godspeed1979 9 2011-01-17 16:30
782 Re:如何處理Transaction log爆掉的問題 koji 242 2011-01-17 19:06
924 Re:如何處理Transaction log爆掉的問題 godspeed1979 376 2011-01-18 15:09
» JWorld@TW »  Object Relational Mapping » Hibernate

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8