dedlfix: Einfügern sehr vieler Datensätze dauert zu lange

Beitrag lesen

Hi!

while ($zeile = <myFile>)
{
  my $query = "INSERT INTO fooBar(...) VALUES (...)";
  $dbh->do($query);
}
Hat jemand eine Idee, wie das schneller gehen kann?

  • Indexe entfernen (außer autoinkrementierendem PK), damit diese nicht immer aktualisiert werden müssen
  • Multi-Insert statt Einzel-Querys (weniger Roundtrips, aber Fehler können nicht mehr pro Datensatz erkannt werden)
  • Prepared Statements. Gerade bei Massendaten werden nur noch diese übertragen und verarbeitet statt kompletter Statements.
  • Erzeugen einer Datei mit den SQL-Anweisungen und diese per Shell importieren (keine Client-Server-Roundtrips notwendig)

Lo!