爲什麼數據庫的結果集如此之大?我通常會得到大約一百萬行的結果集,每個結果集都包含一些數字,一個varchar(75),一個大的int ...等等。可能不會超過每行100個字節。但它佔用了6 GB!這是典型的行爲嗎?我的堆棧是Postgres + JDBC + Spring - 我沒有任何其他技術的經驗。爲什麼結果集如此之大?
0
A
回答
1
2
java.sql.ResultSet
本身通常只有幾十行數據緩衝在任何時間(可配置)。
現在,如果您將所有這些行作爲Java對象加載到內存中,那麼您將看到大量的內存使用。例如,String
每個字符有兩個字節,兩個對象標題,一個偏移量,兩個長度和一個高速緩存的散列值。 BigInteger
與此類似。這一切都加起來。使用分析器。
對緩存行集可能會更好。這或者不會立即加載整個結果集。
相關問題
- 1. 爲什麼MathNet.Numerics NuGet包如此之大?
- 2. jQueryUI。爲什麼界面如此之大?
- 3. 爲什麼散點圖如此之大?
- 4. 爲什麼mysqldump變得如此之大?
- 5. 爲什麼我的APK如此之大?
- 6. 爲什麼C++返回此結果
- 7. 爲什麼此SQL返回錯誤的結果集?
- 8. 爲什麼結果集爲空
- 9. libc符號表中vfprintf的大小如此之大,爲什麼?
- 10. 爲什麼JRE的下載大小差別如此之大?
- 11. 爲什麼tomcat的默認線程池大小如此之大?
- 12. 爲什麼GitHub中分叉庫的大小如此之大?
- 13. 爲什麼ezSQL返回空結果集
- 14. 爲什麼要裁剪結果集?
- 15. Python的KS檢驗 - 這是爲什麼P值如此之大
- 16. 爲什麼我的mongodb索引如此之大
- 17. 爲什麼PHP中的函數和方法如此之大?
- 18. 爲什麼Angular 2項目如此之大
- 19. 爲什麼變化excel值的變體差異如此之大?
- 20. 爲什麼我的C++可執行文件如此之大?
- 21. 爲什麼面向android的Facebook SDK如此之大?
- 22. 爲什麼我的領域數據庫如此之大?
- 23. 爲什麼使用boost增加文件大小如此之多?
- 24. subversion和psd文件 - 爲什麼修改如此之大?
- 25. hadoop - 權威指南 - 爲什麼hdfs中的塊如此之大
- 26. 爲什麼.net通用字典如此之大
- 27. 爲什麼一個空的MongoDB數據庫如此之大?
- 28. 爲什麼我的數據庫如此之大?
- 29. 爲什麼線程ID變得如此之大
- 30. 爲什麼我的Webpack ReactJS應用程序如此之大?
對於任何人給你一個很好的答案,你將不得不對你的整個問題做更多具體的描述。 「什麼」是什麼意思? 「可能」不超過100B /行?做實際的數學,然後問你的問題。 – 2010-12-14 00:40:01
將整個數據庫表複製到Java內存中的原因是什麼?對於你想要達到的目標,可能有更好的解決方案。例如,按批處理或按行處理,或以分頁視圖顯示。 – BalusC 2010-12-14 00:41:26
你如何衡量「它佔用6 GB」? – 2010-12-14 00:41:55