Hi@all!
Ich weiß, dass es schon einige Themen zu Firebird und der Geschwindigkeit im Netzwerk gibt und dass Firebird bzw Interbase ziemlich viele kleine Datenpakete schickt, weshalb die Engine im Internet langsamer wird.
Ich habe hier ein Programm, das in der Firebird-
DB ca 40 Abfragen macht. Dafür braucht das Programm 20 Sekunden übers Internet. Im Netzwerk geschieht die Abfrage nahezu sofort.
der Code sieht ungefähr so aus:
Delphi-Quellcode:
function TDataBaseConnection.IsDocumentInDB(CustomerID:integer;EMailDate:tDateTime):boolean;
var table: TIBTable;
ta: TIBTransaction;
begin
ta:=TIBTransaction.Create(
nil);
ta.DefaultDatabase:=
DB;
ta.Params.Add('
read');
table:=TIBTable.Create(
nil);
table.database:=
DB;
table.Transaction:=ta;
table.TableName:='
DOCUMENTS';
table.filter:='
CUSTOMER = ''
'+inttostr(CustomerID)+'
''
AND MODIFYDATE = ''
'+DateTimetoStr(EMailDate)+'
''
';
table.Filtered:=true;
table.Open;
result:=(table.RecordCount>0);
table.Close;
freeandnil(table);
freeandnil(ta);
end;
Dieser Code wird eben 40 mal aufgerufen. Ist dieser Code irgendwie sehr unperformant? Oder ist Firebird wirklich so extrem langsam über das Internet?
Gibt es andere
DB's die die Aufgabe schneller erfüllen können (und wenn irgendwie möglich über TIBDatabase angesteuert werden können?)
Gruß und besten Dank,
Michael