Streaming grandes conjuntos de resultados com MySQL
Ao lidar com tabelas MySQL extensas em um aplicativo Spring, uma OutOfMemoryException pode surgir conforme o driver se esforça para carregue a tabela inteira na memória. Configurando instrução.setFetchSize(Integer.MIN_VALUE); pode não ser suficiente, pois isso apenas fornece uma dica para o driver JDBC.
Para ativar o streaming de conjuntos de resultados no driver MySQL JDBC, é necessária uma abordagem mais abrangente:
Criar uma instância de extrato:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
Defina a busca Tamanho:
stmt.setFetchSize(Integer.MIN_VALUE);
Cuidados:
Este método tem certos advertências:
Insights adicionais:
Para obter mais estratégias sobre como lidar com grandes conjuntos de resultados, considere esta pergunta relacionada e sua resposta: [link para pergunta semelhante].
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3