java-Xmx64m -Xms32m -Xmn32m -Xss16m TEST "wangt" "wangt""jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=orcl))(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))">a.txt
java-Xmx64m -Xms32m -Xmn32m -Xss16m TEST2 "wangt" "wangt""jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=orcl))(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))">c.txt
java-Xmx64m -Xms32m -Xmn32m -Xss16m TEST2 "postgres" "wangt""jdbc:postgresql://localhost:5432/wangt">b.txt
JDBC解析SQL語句后,為每個Statement(包括PreparedStatement和CallableStatement)分配了兩個Buffer緩存數(shù)據(jù),byte[]和char[]。字符類型的數(shù)據(jù)(CHAR,VARCHAR2,NCHAR, etc. )緩存在char[]中,其他類型的數(shù)據(jù)緩存在byte[]中。在SQL語句解析后,語句所查詢的列的數(shù)據(jù)類型就已經(jīng)確定了,JDBC會根據(jù)這些信息和FetchSize 一起計算出緩存的大小,并分配內(nèi)存。所以如果不需要查詢某張表的所以列時,使用SELECT* FROM XXX是一種浪費內(nèi)存的行為,特別是表的列數(shù)多且數(shù)據(jù)量大的時候,很容易造成OOM,代碼也很少有select*。
通過以上測試可知,fetchsize的設置影響到jvm內(nèi)存消耗和查詢的響應時間,設置fetchsize時要權(quán)衡兩者。一般jdbc默認的fetchsize是10,這個值是比較小的,可以防查詢時outof momory的問題,但是程序的響應時間會變長。字段多的表或者行數(shù)大的表需要一個小的fetchsize值來降低查詢結(jié)果集的jvm內(nèi)存消耗;但是,字段少或者行數(shù)據(jù)小的表需要一個大的fetchsize值來降低查詢結(jié)果集的響應時間。要設置fetchsize,請在執(zhí)行查詢之前,對statement對象調(diào)用setFetchSize()。如果fetchsize為N,那么每次往返數(shù)據(jù)庫能返回N行數(shù)據(jù)。
oracle遷移后,導出報表數(shù)據(jù)顯示如下報錯,因為oracle的fetchsize有默認值,所以可以導出,雖然比較慢。pg中默認值是0,全部寫到內(nèi)存中,服務器內(nèi)存不足,提示OOM。設置fetchsize后程序可以和往常一樣導出數(shù)據(jù)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/130066.html
摘要:新晉技術(shù)專家下面是墨天輪部分新晉的技術(shù)專家。大家可以點擊往期閱讀墨天輪技術(shù)專家邀請函了解詳情,申請成為我們的技術(shù)專家,加入專家團隊,與我們一起創(chuàng)建一個開放互助的數(shù)據(jù)庫技術(shù)社區(qū)。新關聯(lián)公眾號墨天輪是一個開放互助的數(shù)據(jù)庫技術(shù)社區(qū)。 引言 近期我們在DBASK小程序增加了數(shù)據(jù)庫 MongoDB、Redis、 Elasticsearch、DB2、Weblogic 等新的的專題欄目和一些新的技術(shù)...
摘要:前言在總結(jié)的第一篇中,我們已經(jīng)總結(jié)了一些常用的相關的知識點了那么本篇主要總結(jié)關于視圖序列事務的一些內(nèi)容在數(shù)據(jù)庫中,我們可以把各種的語句分為四大類數(shù)據(jù)操縱語言,,,數(shù)據(jù)定義語言,,,數(shù)據(jù)控制語言事務控制語言,,回滾點批量操作何為批量操作,就是 前言 在Oracle總結(jié)的第一篇中,我們已經(jīng)總結(jié)了一些常用的SQL相關的知識點了...那么本篇主要總結(jié)關于Oralce視圖、序列、事務的一些內(nèi)容....
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20