Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie fügt man viele Datensätze schneller in MySQL ein, Java?

Angenommen, Sie haben Ihren name und address in einem Employee , und jetzt müssen Sie viele einfügen Employee Aufzeichnungen in db können Sie den JDBC-Stapelbetrieb verwenden und die Leistung optimieren.

  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. 

Sie können den Code auch leicht ändern, indem Sie ein Array oder eine Sammlung verwenden, um Ihre Daten zu speichern, wenn Sie kein Entitätsobjekt (Employee) haben, um sie zu speichern.

Sie können Batch-Insert in Java lesen für weitere Informationen