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

Comment insérer plus rapidement de nombreux enregistrements dans MySQL, Java ?

Supposons que vous ayez votre name et address dans un Employee , et maintenant vous devez en insérer plusieurs Employee enregistre dans la base de données, vous pouvez utiliser l'opération par lots JDBC et optimiser les performances.

  PreparedStatement ps = con.prepareStatement("INSERT INTO registration_table(name,address) VALUES (?, ?)");   

  for(Employee employee: employees){
      ps.setString(1,employee.getName());
      ps.setString(2,employee.getAddress());
      ps.addBatch();// add to batch
      ps.clearParameters();
  }

  int[] results = ps.executeBatch();// execute with batch rather than execute many SQL separately. 

Vous pouvez également modifier facilement le code à l'aide d'un tableau ou d'une collection pour conserver vos données si vous n'avez pas d'objet entité (Employé) pour les conserver.

Vous pouvez lire insert batch en java pour plus d'informations