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

Existe um JDBC mysql que respeitará fetchSize?


Se você habilitar o MySQL Opção JDBC useCursorFetch , fetchSize realmente será respeitado pelo driver.

No entanto, há uma desvantagem nessa abordagem:ela usará cursores do lado do servidor, que no MySQL são implementados usando tabelas temporárias. Isso significa que os resultados não chegarão até que a consulta seja concluída no servidor e que a memória adicional será usada no lado do servidor.

Se você deseja apenas usar o streaming de resultados e não se importa com o tamanho exato da busca, a sobrecarga de setFetchSize(Integer.MIN_VALUE) não é tão ruim quanto os documentos podem sugerir. Na verdade, ele apenas desativa o cache do lado do cliente de toda a resposta e fornece as respostas à medida que elas chegam; não há necessidade de ida e volta por linha.