Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najszybszy sposób na iterację po dużej tabeli za pomocą JDBC

Po pierwsze, czy na pewno potrzebujesz całej tabeli w pamięci? Może powinieneś rozważyć (jeśli to możliwe) wybranie wierszy, które chcesz zaktualizować/scalić/itd. Jeśli naprawdę musisz mieć całą tabelę, możesz rozważyć użycie przewijalnego zestawu wyników. Możesz to stworzyć w ten sposób.

// 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żliwia przejście do dowolnego wiersza za pomocą metod „bezwzględnych” i „względnych”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ogranicz wartość typu danych MySQL do określonego zakresu (najlepiej nie ENUM)

  2. Zapytanie o połączenie dwóch stołów

  3. Błąd importowania danych SOLR nie można wykonać zapytania

  4. Używasz 'OR' między klauzulą ​​HAVING i WHERE w MySQL?

  5. Najlepsze praktyki w skalowaniu baz danych:część 1