【发布时间】:2012-12-13 14:13:56
【问题描述】:
我对大型数据库的结果集有疑问。 (MySQLDB,Java 1.7)
任务是将一列的所有条目转换为另一个数据库。 (例如,将每个数字除以三,然后将它们写入另一个数据库)
由于数据库包含大约 70 列和几百万行,我的第一个方法是获取 SELECT * 并按列解析结果集。
不幸的是,我发现无法以这种方式解析它,因为指定的方式打算逐行遍历它(while(rs.next()) {} 等)。
我不喜欢这种方式,因为它会创建 70 个大数组,我每次只有一个来减少内存使用。
以下是我的主要问题:
- 有什么办法吗?
- 我应该为每一列创建一个查询并解析它们(一次一个数组,但有 70 个查询)还是
- 我应该只获取整个 ResultSet 并逐行解析,然后将它们写入 70 个数组吗?
提前问候和感谢!
【问题讨论】:
-
你的意思是other database还是other table?
-
相关吗?但你是对的,它实际上只是另一张桌子
-
非常相关,因为如果只是另一个表,你可以使用数据库来完成这项工作。这将非常高效,您根本不需要任何 java 代码(除非您希望 java 执行 sql 语句)。