Streaming de grands ensembles de résultats avec MySQL
Lorsque vous traitez des tables MySQL étendues dans une application Spring, une exception OutOfMemoryException peut survenir lorsque le pilote s'efforce de charger la table entière en mémoire. Définition de Statement.setFetchSize(Integer.MIN_VALUE); peut ne pas suffire, car cela fournit simplement une indication sur le pilote JDBC.
Pour activer le streaming des jeux de résultats dans le pilote MySQL JDBC, une approche plus complète est nécessaire :
Créer une instance de déclaration :
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
Définir la récupération Taille :
stmt.setFetchSize(Integer.MIN_VALUE);
Précautions :
Cette méthode comporte certaines mises en garde :
Informations supplémentaires :
Pour d'autres stratégies sur la gestion de grands ensembles de résultats, considérez cette question connexe et sa réponse : [lien vers une question similaire].
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3