在我的应用程序中,我的结果集包含超过 20000 行。我想将它保存到数组列表中。我为此使用以下代码。
Class.forName("com.mysql.jdbc.Driver") ;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Data", "root", "root") ;
Statement stmt = conn.createStatement() ;
String query = "select * from temp ;" ;
ResultSet rs = stmt.executeQuery(query) ;
ArrayList<String> varList = new ArrayList<String>();
while(rs.next()){
varList.add(rs.getString(1));
}
当我使用查询时,如果表包含超过 20000 个条目,则需要更多时间从结果集中获取数据并且速度太慢。如何解决?任何建议都会非常有用。
最佳答案
我强烈怀疑您正在尝试解决错误的问题。无论您要对这 20,000 行做什么,都应该在数据库 中进行,并且只将操作结果(希望占用更少的空间)返回给客户端。
如果您准确地告诉我们您要对数据做什么,我们可能会就如何操作提供更具体的建议。
(或者,如果您确实确实在客户端需要所有 20,000 行,您可能希望完全跳过数据库,只将它们存储在客户端。)
关于java - 在不影响速度的情况下在 MySQL 中检索大型结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14214855/