2013-03-13 25 views
0

我正在編寫一個基於Java的組件來做一些大約一百萬個數據項的調和(因此性能是最重要的)。調解 - 任何基於Java的庫?

兩種數據來源是 1.數據庫中的表格 2.平面文件。

數據庫中有幾列,應該匹配到文件中的幾列。數據沒有排序或任何東西。因此,每個數據項(可以說它是一個名稱和相應的電話號碼)應該在數據庫和平面文件中相同。例如。如果數據庫中的某行表示「john」,則數字爲「220 343 123」,那麼平面文件中「john」的行必須具有數字「220 343 123」。如果不是,我報告休息,繼續前進。

當然,我可以拿起每一行(從數據庫),並嘗試將它匹配到文件中的某一行(可怕的執行)。 或者我可以,在我這樣做之前排序表格和文件(不知何故) 或...別的東西

論壇的問題是,你知道任何庫/工具Java世界),可以利用這個?

謝謝。

回答

0

您可以讀取平面文件並將數據放入某種Map結構中。接下來,您遍歷數據庫行,並與Map中的值進行比較。

這樣,你只重複數據的兩個來源,一旦...

+0

OP似乎更感興趣的是關閉的,現成的庫/工具比的方法或算法。 – sgp15 2013-03-13 15:30:42

+0

@Fortega - 嗯,是的,這是一種方式。但是你不認爲在內存中放置一百萬個數據項的地圖可能會對硬件造成太大的負擔(因爲這只是一個更大的系統的一個組成部分)。我不是在淡化這個想法,我只是試圖從不同的角度來看待它。 – partha 2013-03-13 17:06:29

+0

當然取決於數據項的大小和可用內存......所以我不能說這些。 – Fortega 2013-03-14 08:20:11