Einzelnen Beitrag anzeigen

Gushiken

Registriert seit: 23. Jan 2007
12 Beiträge
 
#5

Re: array of records mit Daten aus SQL Query füllen

  Alt 27. Nov 2008, 13:22
Danke schonmal für die schnellen Antworten!!

Zitat:
Der Record besteht sicherlich nicht nur aus nachname. Wieviel Byte an Daten hat ein Record, wieviel gibt das mal 100000? Reicht der Arbeitsspeicher oder muss ausgelagert werden. Dann wird es immer deutlich langsamer. Wenn's wirklich an der Laune des Computers und der laufenden Programme liegt, dann sorg' mal für mehr Arbeitsspeicher. Schau Dir im Taskmanager mal die "Speicherentwicklung" beim Programmstart an und eventuell auch mal die Grafiken über CPU-Belastung und Speichernutzung.
Zur Speicherauslastung kann ich folgendes sagen:
- Beim Programmstart liegt die Auslastung bei ca 4.000K
- Nach der Abfrage von den 100.000 Datensätzen geht die Auslastung hoch auf ca. 40.000K
- Nach erfolgreichem erstellen des Arrays liegt das ganze bei ca 45.000K
- Nach befüllen eines Grids mit den Daten geht das ganze hoch auf 128.000K

Selbst nachdem das Grid befüllt ist sollte das ganze für meinen PC, der relativ lahm ist und 1GB RAM hat, kein Problem darstellen.

Die Zeit die RecordCount benötigt müsste ich mal testen... Das könnte sicherlich eine Bremse sein wenn der Wert jedesmal neu erzeugt wird, was ich mir aber eigentlich nicht vorstellen kann. Aber ich werde das mal testen und das Ergebnis posten.

Die Variante mit EOF hatte ich bereits einmal implementiert, das ganze aber verworfen.. aber mir fällt der Grund gerade nicht ein... Aber es war nicht wirklich performanter.

Die 100.000 Datensätze einzulesen ist nötig um bei einer Suche nach einer Person nicht jedes mal wieder eine SQL Abfrage starten zu müssen. Die Suche im Array geht wesentlich schneller als die Suche in der DB per SQL. (Eine Suche nach 3 Buchstaben innerhalb eines Namens dauert bei 100.000 Datensätzen im Array mit Ausgabe im Grid ca 50ms)
  Mit Zitat antworten Zitat