Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Streaming MySql ResultSet com número fixo de resultados por vez


Vou assumir que você está usando o driver JDBC oficial do MySQL, Connector/J.

Você está dizendo explicitamente ao JDBC (e MySQL) para transmitir os resultados linha por linha com statement.setFetchSize(Integer.MIN_VALUE);

De Documentos MYSQL :

Qualquer valor diferente de Integer.MIN_VALUE para o tamanho da busca é ignorado pelo MySQL, e o comportamento padrão se aplica. Todo o conjunto de resultados será buscado pelo driver JDBC.

Ou não use setFetchSize() , então o driver JDBC usará o valor padrão (0 ), ou defina o valor como 0 explicitamente. Usando o valor de 0 também garantirá que o JDBC não use cursores MySQL, o que pode ocorrer dependendo das versões e configuração do MySQL e do Connector/J.