① java 查詢的數據太多了,怎麼處理
可以垂直分隔查詢,通過id段來進行,多次查詢的數據再進行整合處理
② java 大數據 指多少條數據
我想你問的是在資料庫中的表要有多少條才能算大數據。其實您清楚,如果表中的數據超過千萬以上,再好索引也會導致查詢變慢。現在的海量數據一般都是PT級的,數據存放也不僅限於傳統的關系型資料庫。
③ java查詢數據多少合適
一次性查詢幾十萬數據。
先批量查出所有數據。再查出數據之後把每次的數據按一定規則存入本地文件。獲取數據時,通過批次讀取,獲得大批量數據。
存入臨時文件之後,再用讀取大量數據文件。
④ Java循環查詢資料庫,循環一定次數後程序卡在那不執行了
excel導出幾十萬幾百萬數據
1、首先你的內存夠用嗎,;
2、感覺你像是用Ibatis分頁的方式去查資料庫,Ibatis自身分頁當頁碼比較大的時候 性能本來就底下。
我覺得可能是你的內存不夠導致的
僅供參考
⑤ Java對資料庫(Oracle)大量查詢性能問題,達人指教!!!
不會有問題,現在BBS很多都是一張表存上萬條,用SQL SERVER都行,更何況ORACLE了。查詢的性能問題不是你的語言決定的,而是資料庫決定的。資料庫本身建立了索引,不會線性的去找,速度非常快的,所以沒必要分開檢索
⑥ Java前提下, MySQL資料庫,一次性存儲大量數據導致內存溢出
內存溢出導致程序崩潰,也分是java層崩了,還是mysql崩了。
如果是java層崩了,注意不要一次性載入太多的數據到內存,並且不在使用的數據要徹底放棄引用關系。java雖然是自動回收,回收的原則就是一個對象不再被持有,即引用計數為零。如果數據太大,可考慮臨時文件。
如果是mysql崩了,首先增加配置緩存。一般來說mysql是不容易崩的,特別是插入操作的時候。查詢的時候如果查詢結果記錄集特別大,會導致一個查詢需要使用很大的內存空間,這種是有問題的。而插入操作都是一條一條的執行,不會導致大內存的使用。
如果僅僅是數據移植,也盡量不要用ORM框架,比如hibernate,mybatis這些東西,因為他們都有自己的緩存,直接使用JDBC比較好。
⑦ java集合內,存大概多少數據時,讀取會變慢
樓主 如果 說list的 並且用於分頁的話,分頁中的list 並不是 把所有的數據 都請求出來放在list里 去翻頁,這樣的話速度肯定會很慢,如果是分頁的話 一般都是查詢 區間的 例如 第2頁 每頁顯示5個 那麼我們只要查詢6-10的記錄的就行 不必查詢出所有的數據,這樣速度會快。並且如果list 存入大量數據不僅頁面訪問速度降低 而且安全性也值得考慮。
⑧ 如果控制查詢數據量大時,導致的Java內存溢出
oracle的rownum用起來還真不太方便,我給你提供個思路試試,
首先在查詢的時候按照某個唯一欄位升序排序,一般來說應該是按主鍵排序。
並且在where里加一個條件就是對主鍵進行比較,
每次查詢一定數量的記錄,然後記錄下該次查詢時最大的主鍵ID是多少,記為MAXID,然後執行插入到B中的操作
下一次查詢時在where里加入主鍵ID>MAXID,查出來之後將MAXID設置為此次查詢的最大主鍵ID。在插入B,
如此循環應該就可以實現了。
⑨ java分頁查數據防止內存溢出問題
首先你要明白內存溢出的含義,內存溢出簡單的來說就是內存不夠了。
打個專比方:內屬存就像一個大水缸,資料庫就是水庫。從資料庫中查詢數據就像從水庫中抽水到大水缸。如果一次性抽取太多的水(超過大水缸的容量),大水缸肯定放不下(溢出了)。分頁查詢就好比一點一點的抽水到大水缸。jvm有垃圾回收機制,每次抽到水缸中的水可能用完後就被銷毀了,水缸中的水不會一直增長下去。如果水缸中的水一直增長,就叫內存泄露。
你上面的代碼不完全,不知道是否會內存溢出。如果每次循環在getComments方法中把查詢的結果都放到一個List中,就可能會溢出。當然這個和資料庫中的數據量和jvm的內存配置大小有關系。
⑩ java項目中,資料庫查詢的數據多了,報500,什麼情況
500不是資料庫錯誤,是Web APP錯誤。
你查詢的數據量有多大,不太可能大到資料庫崩掉出現500,線程出錯500的機會比較大