【发布时间】:2010-11-08 00:39:13
【问题描述】:
我正在尝试创建一个 java 程序来清理和合并表中的行。该表很大,大约有 500k 行,我当前的解决方案运行非常缓慢。我想做的第一件事就是简单地获取一个代表我表中所有行的对象的内存数组。这是我正在做的事情:
- 一次选择 1000 行的增量
- 使用 JDBC 获取以下 SQL 查询的结果集 从 ID > 0 且 ID
- 将结果数据添加到内存数组中
- 以 1000 为增量继续查询直至 500,000,每次添加结果。
这需要很长时间。事实上,它甚至没有超过从 1000 到 2000 的第二个增量。查询需要永远完成(尽管当我直接通过 MySQL 浏览器运行相同的东西时,它的速度相当快)。自从我直接使用 JDBC 以来已经有一段时间了。有更快的替代方案吗?
【问题讨论】: