Diffusion en continu 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 la diffusion en continu des ensembles de résultats dans le pilote MySQL JDBC, une approche plus complète est nécessaire :
Créer une déclaration Instance :
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
Définir la taille de récupération :
stmt.setFetchSize(Integer.MIN_VALUE);
Précautions :
Cette méthode a certains 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].
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!