Java 在select语句上实现批处理

Java 在select语句上实现批处理,java,sql,jakarta-ee,jdbc,Java,Sql,Jakarta Ee,Jdbc,我正在执行两个select查询。第一次选择查询的结果用于获取第二次选择查询的结果。 例子 query 1=“从表1中选择名称、帐号” query 2=“从表2中选择budget\u column1,budget\u column2,其中column3=我们从Select query1获得的accountNumber 我正在尝试优化我的代码。显示结果需要很长时间。 如何在这种情况下实现预处理语句addbatch。我一直在搜索,但大多数示例都显示了insert、update、delete语句不在se

我正在执行两个select查询。第一次选择查询的结果用于获取第二次选择查询的结果。 例子 query 1=“从表1中选择名称、帐号” query 2=“从表2中选择budget\u column1,budget\u column2,其中column3=我们从Select query1获得的accountNumber

我正在尝试优化我的代码。显示结果需要很长时间。
如何在这种情况下实现预处理语句addbatch。我一直在搜索,但大多数示例都显示了insert、update、delete语句不在select语句上

尝试将查询合并到单个查询(join)中,并在需要时让RDBMS优化:

select t1.name, t2.budget_column1, t2.budget_column2
from table1 as t1, table2 as t2
where t1.accountNumber = t2.column3;

批处理执行仅适用于modify语句(insert、update、delete),不适用于select


通常,您最好的选择是允许数据库为您执行联接,并尽可能少地执行语句。如果您确实需要执行两个不同的查询,则需要确保您具有索引访问权限以提供良好的性能。

实际上代码中还有其他内容。我不能以任何其他方式使用joinsIs要通过使用resultset的addbatch或使用prepared语句来实现这一点,可以在表2中的第3列添加索引,以使accountNumber匹配更快。哦,使用addbatch。从未使用过它。至于prepared语句,它应该不会影响服务器端的执行效率。java.sql上没有
addbatch
方法.ResultSet.您是否在考虑
PreparedStatement.addBatch
和相应的
executeBatch