作者eieio (好多目標)
看板java
標題Re: [問題] 資料存取的問題
時間Tue Jul 19 10:48:15 2016
三十萬筆應該可以塞 memory 吧
假設你每筆資料可以存成
class Row {
A getA();
B getB();
C getC();
...
}
那麼一次讀出來,寫進 multimap 裡
Multimap<A, Row> map = ListMultimap.create();
SQL="Select * from tableA;";
rs=stmt.executeQuery(SQL);
while (rs.hasNext()) {
Row row = toRow(rs);
map.add(row.getA(), row);
}
應該可以吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 67.182.136.78
※ 文章網址: https://www.ptt.cc/bbs/java/M.1468896501.A.001.html
推 gw10313: 這個跟我想要的方式很像! 感謝你 我試試看 07/19 17:14
→ eieio: 所以有結果了嗎? 07/23 09:31
推 gw10313: 嗯嗯 非常感謝 我後來用 multimap完成的我想要的功能 07/24 23:55
→ gw10313: 真的就把資料一次讀出來 然後放入記憶體內了 07/24 23:56
推 gw10313: 30萬筆資料比我想像的還少一點 記憶體還夠XD 07/25 00:02
推 abola921: 簡易試算,資料寬度假設1K/per record沒接近1M筆前 07/25 00:14
→ abola921: 都可以用這種爆力的方式解決 07/25 00:15
推 abola921: 前提是你的資料不會有dirty read的問題 07/25 00:19