鍍金池/ 問(wèn)答/Java  數(shù)據(jù)庫(kù)/ mybatis查詢大數(shù)據(jù)量gcc over limited問(wèn)題

mybatis查詢大數(shù)據(jù)量gcc over limited問(wèn)題

1.spring boot中使用mybatis查詢一個(gè)500萬(wàn)條數(shù)據(jù)然后進(jìn)行計(jì)算并重新入新表,200萬(wàn)條的時(shí)候直接卡死GC了
2.mybatis框架實(shí)現(xiàn),dao層返回List<object> ,先后試過(guò)全查(不行,直接卡死),
分頁(yè)(在200萬(wàn)條卡死),cursor(沒(méi)有GC,但是因?yàn)檫B接超時(shí)被關(guān)閉)
3.請(qǐng)問(wèn)這樣大數(shù)量查詢計(jì)算,有沒(méi)有好的優(yōu)化方案,因?yàn)檫壿嫳容^復(fù)雜,感覺(jué)用存儲(chǔ)過(guò)程會(huì)比較費(fèi)勁

回答
編輯回答
凝雅

可以進(jìn)行分批處理,寫一個(gè)batch的處理方法就行了,每次處理一部分?jǐn)?shù)據(jù),比如1w,這樣的話,不會(huì)隨著數(shù)據(jù)量的增大導(dǎo)致gc,最多只是處理時(shí)間變長(zhǎng)而已

2018年3月2日 19:30