Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Schnellste Insert Möglichkeit für eine DB?

  Alt 2. Mär 2010, 12:00
Datenbank: FireBird • Version: 2.5 • Zugriff über: UniDac
Moin !

Was ist eigentlich die schnellste Variante, Daten in einer DB einzutragen?

Nehmen wir mal an ich möchte die Daten eines Messgeräts in eine Tabelle sichern. Dann gibt es da (soweit ich das bis hier überblicke) 2 Methoden:
1) mittels FieldByName / Append
Delphi-Quellcode:
DBQuery.Edit;
DBQuery.FieldByName('ID').AsInteger := Counter;
DBQuery.FieldByName('PROP01').AsFloat := Random(10000) / 10;
DBQuery.FieldByName('PROP02').AsFloat := Random(10000) / 10;
DBQuery.FieldByName('PROP03').AsFloat := Random(10000) / 10;
DBQuery.FieldByName('DateTime').AsSQLTimeStamp := DateTimeToSQLTimeStamp(Now);
DBQuery.Append;
2) mittels SQL Insert (und das dann eben mit x Werten in einem SQL Statement)
Delphi-Quellcode:
DM.Query.SQL.Text := 'INSERT Into Demo (demo.wert1) VALUES (100);';
DM.Query.ExecSQL;
Aber was geht nun am schnellsten? Und gibt es noch andere Varianten?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat