Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TDataSet Performanceprobleme

  Alt 16. Sep 2005, 14:42
Zitat von smudo:
Hallo ,

ich nutze ein TDataSet um Daten im Speicher zu verwalten.
Bei größeren Datenmengen kommt es aber zu Performanceproblemen.
Ein besonderer Engpass ist das Auslesen eines Feldes:

Delphi-Quellcode:
FCells.Locate('id',ARow,[]);
Result:=FCells.FieldByName(IntToHeader(ACol)).asString;
Der erste Schritt (Locate) dauert teilweise mehr als 16 ms.
Ich hab's auch schon mit LookUp oder First und MoveBy versucht,
das Zeitverhalten ändert sich aber nicht.

Wie könnte ich den Vorgang optimieren?

Danke im Voraus

René
Worauf basiert denn Dein DataSet? Als erste Möglichkeit wäre hier die Erstellung eines Index zu nennen. Wenn Du dann einen hast, stelle Locate auf Findkey um, das ist mindestens 10x schneller. Desweiteren solltest Du die Häufig verwendeten Felder als Objekte definieren und nicht mit FieldByname jedesmal danach suchen lassen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat