Si habilita el MySQL Opción JDBC
useCursorFetch
, el controlador respetará fetchSize.
Sin embargo, hay una desventaja en este enfoque:utilizará cursores del lado del servidor, que en MySQL se implementan mediante tablas temporales. Esto significará que los resultados no llegarán hasta que la consulta se haya completado en el servidor y que se utilizará memoria adicional en el lado del servidor.
Si solo desea utilizar la transmisión de resultados y no le importa el tamaño de búsqueda exacto, la sobrecarga de setFetchSize(Integer.MIN_VALUE)
no es tan malo como los documentos podrían implicar. En realidad, simplemente deshabilita el almacenamiento en caché del lado del cliente de toda la respuesta y le brinda respuestas a medida que llegan; no se requiere ida y vuelta por fila.