2011-11-10 51 views
2

我想合併兩個列表並使用play!在前端顯示輸出。該列表是SQL查詢的結果集。我有兩個列表,我正在運行兩個查詢,並且我想合併這兩個列表並顯示在UI中。由於性能問題,我無法使用INNER JOIN。有什麼辦法可以一次穿過兩個列表遍歷2列表正在播放?

+0

我不熟悉java(或者玩遊戲,就此而言)。 Python(和各種函數式語言)有一個叫做'zip'的函數,可以用來做這件事。也許這會幫助你指出正確的方向。 –

+0

事情是,我被限制使用Java和玩,所以我真的在這方面尋找答覆。但謝謝你的迴應。 – Kiran

+0

你可以更精確地在你想做什麼,在java中你可以用addAll構造一個新的Collection實例(例如ArrayList),例如,你想要做什麼? –

回答

1

首先,單個INNER JOIN會給你帶來性能問題嗎?你的問題可能在別處(缺少支持索引等),因爲任何現代rdbms都可以比替代方案更快地執行聯接。這就是說,我不完全確定一個聯合是你想要的。

假設我不知道你在問什麼時候說「合併兩個列表並顯示在UI中」。你可能想要的是UNION(如果你想讓數據庫刪除列表之間的任何重複項)或UNION ALL如果你只是想在一個數據集中的兩個查詢的結果。

+0

我們每天獲得數百萬個請求。現在想象一下,每次對所有記錄進行Inner Join。服務器甚至可能會崩潰。 – Kiran

+0

我開發的數據庫每小時可以獲得大約4-6百萬個請求,而不會出汗。當然,我們並沒有加入所有的記錄(平均表格是大約100多萬條記錄),而是使用適當的數據集。我並不是說要做出假設,但我遇到過很多認爲JOIN不好並且讓我困惑的開發人員,好的SQL和模式(以及一個好的dbms),人們應該沒有問題。所有的dbms並不是相同的,但這就是關係數據庫如何設計的。 –