Mit einer
Query sieht das ganz grob so aus:
Delphi-Quellcode:
query.SQL.Text := '
SELECT COUNT(*) AS Anzahl FROM DOCUMENTS';
query.SQL.Add('
WHERE CUSTOMER = '+QuotedStr(inttostr(CustomerID))+'
AND MODIFYDATE = '+QuotedStr(DateTimetoStr));
ShowMessage(
query.SQL.Text);
// zum Debuggen die SQL-Abfrage anzeigen
query.open;
result :=
query.Fields[0].AsInteger <> 0;
Das lässt sich mit Parametern noch verbessern sollte so aber auch funktionieren.
@Shima: Okay, die Benutzung von TIBQuery hat die Dauer der Abfrage von 20 Sekunden auf 5 Sekunden verringert. Das ist doch schonmal ein Anfang. Danke!!
@RWarnecke: Denkst du, dass Stored Procedures das ganze schneller machen, als die eine TIBQuery Abfrage von Shmia? Hier wird ja auch nur noch eine einzige Zahl an den Client übermittelt.
@Lemmy Danke für die Tipps. Ich werde Tibtable nicht mehr verwenden. Ich habe auch schon daran gedacht, einen
TCP Server zu verwenden, der die
DB lokal ansteuert. Habe die Idee aber zunächst verworfen, da der Server ein Debian System ist und ich dann den FPC verwenden müsste + sehr viel Arbeit für das kleine Programm.
Macht es sinn, in meiner Funktion, die 20 mal aufgerufen wird, jedes mal eine neue Transaction zu erstellen und diese hinterher wieder zu zerstören? Wäre es schneller/sinnvoller, die transaction nur einmal zu erstellen?