Thema: Delphi Performance TpFIBDataset

Einzelnen Beitrag anzeigen

exilant

Registriert seit: 28. Jul 2006
134 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Performance TpFIBDataset

  Alt 24. Okt 2008, 11:05
Zitat von nachti1505:
Gib mir doch mal bitte ein Codeschnipsel, wie du durch das Dataset iterierst. Hast du evt. irgendwelche speziellen Optionen im Dataset angeschalten oder abgeschalten? Spielt vielleicht die Transaktion auch noch eine Rolle?
Delphi-Quellcode:

// dsActiveOrders ist ein tpFibdataset (ein tpFibquery würde es genauso tun,
// hat historische Gründe)

dsActiveOrders.active := true;

while not dsActiveorders.eof do begin
  currentEntry := mylist.addentry;
  currententry.id := dsActiveOrders.fieldbyname('id').asinteger;
  currententry.StackId := dsActiveOrders.fieldbyname('stackid').asinteger;
  currententry.StockId := dsActiveOrders.fieldbyname('stockid').asinteger;
  currententry.Status := dsActiveOrders.fieldbyname('status').asinteger;
  currententry.Partitial := dsActiveOrders.fieldbyname('partitial').asstring;
  currententry.Orderdate := dsActiveOrders.fieldbyname('orderdate').asdatetime;
  ...
  ...
  dsActiveOrders.next;
end;
currententry.next := NIL;
dsActiveorders.active := false;
Das war's schon. Nichts besonderes. Das Dataset hat eine eigene Transaktion (autostart).

Zitat von nachti1505:
BTW: Was mir aufgefallen ist, wenn die pFIBDatabase lokal läuft (Programm läuft auf dem Server) gibt es einen unheimlichen Geschwindigkeitszuwach gegenüber einer Remotevariante (127.0.0.1:C:\Programme\Firebird_2_1\Datenbank.fdb )...
Dazu kann ich nichts sagen. Ich habe hier nur mit entfernten Datenbanken auf Linux Servern zu tun.
Anything, carried to the extreme, becomes insanity. (Exilant)
  Mit Zitat antworten Zitat