2011-11-10 45 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并不是相同的,但这就是关系数据库如何设计的。 –