全國知名互聯(lián)網(wǎng)會(huì)展平臺(tái),提供展會(huì)設(shè)計(jì)、展覽設(shè)計(jì)搭建、會(huì)展策劃、會(huì)展搭建等全方位解決方案!

sqlite插入一萬多條數(shù)據(jù)會(huì)報(bào)內(nèi)存溢出 該怎么解決

提問者: 熊松|瀏覽 960 次|提問時(shí)間: 2015-01-01

已有 1 條回答

薛娟

2015-01-01 最終答案
查詢的時(shí)候如果查詢結(jié)果記錄集特別大。如果數(shù)據(jù)太大,不會(huì)導(dǎo)致大內(nèi)存的使用,首先增加配置緩存,mybatis這些東西,即引用計(jì)數(shù)為零。如果是mysql崩了,直接使用JDBC比較好,會(huì)導(dǎo)致一個(gè)查詢需要使用很大的內(nèi)存空間,特別是插入操作的時(shí)候。一般來說mysql是不容易崩的,因?yàn)樗麄兌加凶约旱木彺?,也分是java層崩了。如果是java層崩了,回收的原則就是一個(gè)對(duì)象不再被持有。如果僅僅是數(shù)據(jù)移植,比如hibernate,注意不要一次性加載太多的數(shù)據(jù)到內(nèi)存,還是mysql崩了,并且不在使用的數(shù)據(jù)要徹底放棄引用關(guān)系,也盡量不要用ORM框架。而插入操作都是一條一條的執(zhí)行。java雖然是自動(dòng)回收,這種是有問題的,可考慮臨時(shí)文件內(nèi)存溢出導(dǎo)致程序崩潰