sql >> Databáze >  >> RDS >> Mysql

Nejrychlejší způsob iterace přes velkou tabulku pomocí JDBC

Za prvé, jste si jisti, že potřebujete celý stůl v paměti? Možná byste měli zvážit (pokud je to možné) výběr řádků, které chcete aktualizovat/sloučit/atd. Pokud opravdu musíte mít celou tabulku, můžete zvážit použití rolovatelné sady výsledků. Můžete to vytvořit takto.

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

Umožňuje vám přesunout se na libovolný řádek pomocí „absolutních“ a „relativních“ metod.



  1. Zkopírujte řádek, ale s novým ID

  2. jak přehrávat zvuk mp3 uložený v mysql blob pomocí php

  3. Kdy bych měl používat transakce MySQL?

  4. Nejrychlejší způsob, jak vypsat objekt slovníku Python (diktát) do tabulky MySQL?