Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Array aus DB mit Zahlen füllen

  Alt 12. Mär 2014, 19:34
Da fallen mir doch ein paar wesentliche Dinge auf
  1. Das ständige COMMIT bremst ... Starte die Transaktion, trage alle Daten ein, und ganz zum Schluss ein COMMIT
  2. Du erstellst die SQL-Statements ständig neu, dadurch kommst du nicht in den Genuss der Prepared-Statements, die wesentlich schneller ablaufen. Erstelle die für jedes Statement ein Query-Objekt und benutze das (Parameter verwenden)
    Delphi-Quellcode:
    LCount_Query.SQL.Text := 'SELECT count(*) FROM ' + Fertigungslos + ' WHERE (Auftragsnummer = :JobId) ...';
    ...
    LCount_Query.ParamByName('JobId').Value := JobID;
Generell würde ich den Import aber anders auf die Beine stellen:
  1. Anlage einer (oder mehrerer) Import-Tabelle(n)
  2. Views von den Import-Tabellen anlegen, um die Daten in das neue Format zu überführen
  3. Mit diesen Views den Import durchführen
Ab dem Schritt 2 läuft dann alles auf der Datenbank selber und sollte erheblich schneller funktionieren.
Sollte (wenn die Zieltabellen einen vernünftigen Index haben) sich dann nur um Stunden handeln
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (12. Mär 2014 um 20:02 Uhr)
  Mit Zitat antworten Zitat