Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#8

Q

  Alt 11. Dez 2006, 10:54
Hallo,

zu mysql kann ich nichts sagen,
aber, wen du 100 mal die Query aufrufst,
muss der Server 100mal die Query parsen und einen SQL-Plan erzeugen.
Benutze mal prepared Queries.

Bsp:

zuerst preparen, dass kann man auch mit dem Aufruf verbinden,
indem die InsertQuery zuerst NIL ist,
und bei =NIL erzeugt und prepared wird

Delphi-Quellcode:
with InsertQuery do
begin
  SQL.Clear;
  SQL.Add('UPDATE CMDB_Software_Scan SET LastScan =:ScanDate, ');
  SQL.Add(', Aktiv = 1');
  SQL.Add(' WHERE ID = :ID'
  Prepare;
end;
und Nutzung
Delphi-Quellcode:
with InsertQuery do
begin
  ParamByName('ScanDate').AsDateTime:= scanDate;
  ParamByName('Id').AsInteger:= ScanId;
  ExecSQL;
end;
Wie du siehst, wird eine eigene Query benutzt.

Bei Firebird bekommt man hier in der Regel 100% mehr Performance.


Heiko
Heiko
  Mit Zitat antworten Zitat