我正在将 jdbc 与 mysql 一起使用。我需要遍历表中的每一行(60,000 行,表 = InnoDB),并对每一行执行一些处理。
mysql会接受没有这样限制的查询吗?在最简单的实现中,我只需选择整个表,并在光标为我提供更多结果时不断迭代结果:
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM foo");
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
.. do stuff on each row ..
}
我当然可以实现分页查询来分批执行此操作,但按照第一种方法中的说明进行操作会更简单。我想知道mysql是在内部这样做,还是先尝试将整个查询结果集加载到内存中?
谢谢