Re: [問題] 資料存取的問題

看板java作者 (好多目標)時間8年前 (2016/07/19 10:48), 編輯推噓5(503)
留言8則, 3人參與, 最新討論串2/2 (看更多)
三十萬筆應該可以塞 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

07/19 17:14, , 1F
這個跟我想要的方式很像! 感謝你 我試試看
07/19 17:14, 1F

07/23 09:31, , 2F
所以有結果了嗎?
07/23 09:31, 2F

07/24 23:55, , 3F
嗯嗯 非常感謝 我後來用 multimap完成的我想要的功能
07/24 23:55, 3F

07/24 23:56, , 4F
真的就把資料一次讀出來 然後放入記憶體內了
07/24 23:56, 4F

07/25 00:02, , 5F
30萬筆資料比我想像的還少一點 記憶體還夠XD
07/25 00:02, 5F

07/25 00:14, , 6F
簡易試算,資料寬度假設1K/per record沒接近1M筆前
07/25 00:14, 6F

07/25 00:15, , 7F
都可以用這種爆力的方式解決
07/25 00:15, 7F

07/25 00:19, , 8F
前提是你的資料不會有dirty read的問題
07/25 00:19, 8F
文章代碼(AID): #1NZPJr01 (java)
文章代碼(AID): #1NZPJr01 (java)