sql >> Base de Datos >  >> RDS >> Mysql

La forma más rápida de iterar a través de una tabla grande usando JDBC

En primer lugar, ¿está seguro de que necesita toda la tabla en la memoria? Tal vez debería considerar (si es posible) seleccionar las filas que desea actualizar/fusionar/etc. Si realmente necesita tener la tabla completa, podría considerar usar un ResultSet desplazable. Puedes crearlo así.

// 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 ...");

Le permite moverse a cualquier fila que desee utilizando métodos 'absolutos' y 'relativos'.