java - 如何从mysql java中获取有限的数据

标签 java mysql resultset large-data

我可以限制结果集中的行数吗? 我的表包含大约 800000 行,如果我在结果集中获取它们,这肯定会导致 OOM 异常。每行有 40 列。 我不想同时处理它们,但每行都将被过滤掉一些数据。

提前谢谢您。

最佳答案

类似下面的内容应该是一个 SQL 解决方案,但尽管效率相当低,因为每次您都必须获取越来越多的行。

假设您的 ORDER BY 基于 unique int 并且 您将一次获取 1000 行。

SET currenttop = 0;
SET cuurentid = 0;
SELECT * FROM YourTable t
WHERE t1.ID > @currentID AND (@currentid := t1.ID) IS NOT NULL; 
LIMIT (@currenttop:=@currenttop+1000);

当然,您可以选择处理 Java 代码中的变量。

关于java - 如何从mysql java中获取有限的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918788/

相关文章:

java - 使用 vector 数组创建矩阵数组的简单方法

php - 喜欢不工作 mysqli

mysql - 添加联接时结果的奇怪顺序

java - 在JTable中显示内存消耗较高的ResultSet

php - 如何获得该联合中的行数总和?

java - 在java中计算斐波那契数列

java - 如何识别一个监听器中的 mouseDragged 和 mousePressed 事件?

java - 在 Java 中尝试使用正则表达式提取 XMLNS

mysql - 使用 fetchOne 时 jooq 抛出 NPE

java - 如何在 java 中循环时从 MySQL 结果集中添加值?