Java 使用OJDBC检索可变数量输入的DB数据
我使用OJDBC将数据从数据库检索到给定的一组主键。为了使算法有效,我将循环限制在给定的集合上,而不是检索整个表 我是这样做的Java 使用OJDBC检索可变数量输入的DB数据,java,ojdbc,Java,Ojdbc,我使用OJDBC将数据从数据库检索到给定的一组主键。为了使算法有效,我将循环限制在给定的集合上,而不是检索整个表 我是这样做的 for (Integer customer : customers){ String selectStatement= "SELECT * FROM table WHERE customerID ="+customer; processCustomer(selectStatement,statement);
for (Integer customer : customers){
String selectStatement= "SELECT * FROM table WHERE customerID ="+customer;
processCustomer(selectStatement,statement);
}
connection.close();
System.out.println("Done");
}
catch (SQLException e){
System.out.println("Connection Failed! Check output console");
System.out.println(e.getMessage());
}
processCustomer方法处理查询并根据需要填充HashMap
我相信这不是最好的做法,因为我达到了DB,因为每个客户都可以达到100k,而且完成这个过程需要很多时间
最有效的方法是什么您可以使用PrepareStation或从customer1、customer2、customer3…customern中customerID所在的表中选择*;纳伦,我想过了。但是,DB中的集合仅限于1000。我是否应该实现一种方法,对几组1000进行ORing?即使这样也会给您带来性能问题。。通常你不会每次都使用所有的customer100k细节。。。为100名客户点击db,并在接下来的100名客户中使用它。以提高效率