sql >> Databasteknik >  >> RDS >> Mysql

Snabbaste sättet att iterera genom stora tabeller med JDBC

Först och främst, är du säker på att du behöver hela bordet i minnet? Kanske bör du överväga (om möjligt) att välja rader som du vill uppdatera/sammanfoga/etc. Om du verkligen måste ha hela tabellen kan du överväga att använda en rullningsbar ResultSet. Du kan skapa det så här.

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

Det gör att du kan flytta till vilken rad du vill genom att använda "absoluta" och "relativa" metoder.



  1. Hur man importerar och exporterar en databas via phpMyAdmin (felet 'Access denied create database db_name')

  2. Hur man skickar anpassad typ array till Postgres funktion

  3. MySQL sortera på en beräkning

  4. Hur kan jag infoga data i SQL Server med VBNet