Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le moyen le plus rapide d'itérer dans une grande table à l'aide de JDBC

Tout d'abord, êtes-vous sûr d'avoir besoin de toute la table en mémoire ? Peut-être devriez-vous envisager (si possible) de sélectionner les lignes que vous souhaitez mettre à jour/fusionner/etc. Si vous avez vraiment besoin de toute la table, vous pouvez envisager d'utiliser un ResultSet déroulant. Vous pouvez le créer comme ceci.

// make sure autocommit is off (postgres)
con.setAutoCommit(false);

Statement stmt = con.createStatement(
                   ResultSet.TYPE_SCROLL_INSENSITIVE, //or ResultSet.TYPE_FORWARD_ONLY
                   ResultSet.CONCUR_READ_ONLY);
ResultSet srs = stmt.executeQuery("select * from ...");

Il vous permet de passer à n'importe quelle ligne de votre choix en utilisant les méthodes "absolues" et "relatives".