Thema: Delphi ADODataset Insert Update

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: ADODataset Insert Update

  Alt 13. Feb 2006, 21:55
Deine Art, die Daten rüber zu schaufeln, ist zwar ADO-Konform, aber eben lahm. Um das schnell(er) zu machen, fallen mir 3 Dinge ein:
1. Transaktionen verwenden
2. SQL-Kommandos selber basteln.
3. Einen Index auf den Primary Key der Target-Tabelle

Zu 2 solltest Du abhängig davon, ob der PK vorhanden ist, oder nicht eine INSERT oder UPDATE Anweisung aufbauen, deren WHERE-Klausel nur die Primary Key Bedingung enthält. Also ungefähr so:
SQL-Code:
UPDATE Target
  SET Field1 = <Value1>,
      Field2 = <Value2>,
      ....
WHERE IDField = <ID>
bzw.
SQL-Code:
INSERT INTO Target
  (IDField, Field1, Field2 ....)
VALUES
  (<ID>, <Value1>, <Value2> ...)
Mit ADO sind die vom Provider generierten SQL-Kommandos alles Andere als optimal. Schau Dir die mal an.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat