gpt4 book ai didi

java - 按列搜索结果集

转载 作者:行者123 更新时间:2023-11-29 08:40:04 26 4
gpt4 key购买 nike

我对大型数据库的结果集有疑问。 (MySQLDB,Java 1.7)

任务是将一列的所有条目转换到另一个数据库中。(例如,将每个数字除以三并将它们写入另一个数据库)

由于数据库包含大约 70 列和几百万行,我的第一个方法是获取 SELECT * 并按列解析结果集。

不幸的是,我发现无法以这种方式解析它,因为指定的方式打算逐行遍历它(while(rs.next()) {} 等)。

我不喜欢这种方式,因为它会创建 70 个大数组,我每次只创建一个数组以减少内存使用。

这是我的主要问题:

  1. 有办法吗?
  2. 我应该为每一列创建一个查询并解析它们(一次一个数组,但 70 个查询)还是
  3. 我应该获取整个 ResultSet 并逐行解析它,将它们写入 70 个数组吗?

提前致以问候和感谢!

最佳答案

为什么不只是 page your queries ?一次取出“n”行,执行转换,然后将它们写入新数据库。

这意味着您不必在一次查询/迭代中提取所有内容,然后一次性写入所有内容,并且不会出现逐行工作的低效率情况。

我的其他评论是这也许是不成熟的优化。您是否尝试过加载整个数据集,并查看它会占用多少内存。如果它的数量级是 10 甚至 100 兆,我希望 JVM 能够轻松处理。

我假设您的转换需要在 Java 中完成。如果您可以在 SQL 中完成此操作,那么完全在数据库中完成此操作可能会更加高效。

关于java - 按列搜索结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14067378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com