Possíveis explicações:
-
Java não está fazendo nada, enquanto a Oracle está computando as primeiras 1.000 linhas em vez dos 10 primeiros.
-
O Oracle não está fazendo nada, enquanto o Java está computando as últimas 1.000 linhas em vez dos últimos 10.
-
Os protocolos de comunicação (por exemplo, TCP/IP) esperam muito e precisam lidar com mais dados de uma só vez, mas a transferência de dados de pico será reduzida pelos limites de hardware . Isso é combatido pela sobrecarga do protocolo, portanto, deve haver um tamanho de busca ideal e qualquer coisa menor ou maior seria mais lenta;))
-
Seria pior se o processo de busca fosse síncrono com outro código Java, de modo que Java solicite mais linhas somente após processar os dados anteriores e a Oracle não faz nada nesse meio tempo.
Imagine que são 3 pessoas:
- A primeira dobra papel A4 ao meio
- O segundo leva pilhas de papel dobrado de uma sala para outra
- O terceiro corte um pouco do papel dobrado.
Qual deve ser o tamanho das pilhas, se o 1º tiver que esperar até que o 2º retorne e o 2º tiver que esperar até que o 3º termine seu trabalho?
Pilhas de 1000 não serão melhores que pilhas de 10 eu acho;))