Asumiré que está utilizando el controlador JDBC proporcionado por MySQL oficial Connector/J.
Le está diciendo explícitamente a JDBC (y MySQL) que transmita los resultados fila por fila con statement.setFetchSize(Integer.MIN_VALUE);
Desde MYSQL Docs :
Cualquier valor que no sea Integer.MIN_VALUE
MySQL ignora el tamaño de recuperación y se aplica el comportamiento estándar. El conjunto de resultados completo será obtenido por el controlador JDBC.
No use setFetchSize()
, por lo que el controlador JDBC utilizará el valor predeterminado (0
), o establezca el valor en 0
explícitamente. Usando el valor de 0
también se asegurará de que JDBC no use cursores de MySQL, lo que puede ocurrir según las versiones y la configuración de MySQL y Connector/J.