Posibles explicaciones:
-
Java no hace nada, mientras que Oracle calcula las primeras 1000 filas en lugar de los primeros 10.
-
Oracle no hace nada, mientras que Java calcula las últimas 1000 filas en lugar de los últimos 10.
-
Los protocolos de comunicación (p. ej., TCP/IP) esperan mucho y luego deben manejar más datos a la vez, pero la transferencia de datos máxima se verá limitada por los límites del hardware . Esto se contrarresta con la sobrecarga del protocolo, por lo que debería haber un tamaño de recuperación óptimo y cualquier cantidad menor o mayor sería más lenta;))
-
Empeoraría si el proceso de obtención fuera sincrónico con otro código Java, de modo que Java solicite más filas solo después de procesar los datos anteriores y Oracle no hace nada mientras tanto.
Imagina que hay 3 personas:
- El primero dobla papel A4 por la mitad
- El segundo lleva montones de papeles doblados de una habitación a otra
- 3rd corta alguna forma del papel doblado.
¿Qué tan grandes deberían ser las pilas, si la primera tiene que esperar hasta que la segunda regrese y la segunda tiene que esperar hasta que la tercera termine su trabajo?
Las pilas de 1000 no serán mejores que las pilas de 10, supongo;))