java - 在不影响速度的情况下在 MySQL 中检索大型结果集

标签 java mysql resultset mib

在我的应用程序中,我的结果集包含超过 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/

相关文章:

PHP - MySQL 显示最高 ID 号

Java sql ResultSet没有数据

MYSQL将id与列关键字匹配并显示结果

java - 如何使用java的模式匹配器匹配包含多行的字符串中的单词

java - 尝试从字符串路径解析 Uri 时为空

java - 如何使用占位符在 Bootstrap 模型中显示的文本框中设置值

mysql配置停止在 "starting server"

java - 根据格式字符串格式化数字字符串

来自多个 id 匹配的表的 Mysql 结果不出现

java - 结果集和 SQL 函数