sql >> Base de Datos >  >> RDS >> Mysql

Transmisión de MySql ResultSet con un número fijo de resultados a la vez

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.