Also ich schalte VOR größeren Importen IMMER alle Indizes aus und
erst danach wieder an. Das bringt idR die beste Performance
Andy
Am 16.03.2009 um 10:09 schrieb Stefan Sicurella <[email protected]>:
Hi,
ich frage mich gerade ob das Problem mit der Geschwindigkeit in
diesem Fall vielleicht doch anderswo liegt.
Seit dem Import der 65000 Artikel zeigen sich noch andere Schwächen
in der Performance.
Aber genau diese Schwächen hatte ich bei 10000 Artikeln mit dem Inde
x Erstellen gelöst, danach liefen die Querrys rasend schnell.
Muss ich evtl. nach jedem Import den Datenbankindex für die Suchfeld
er löschen und erneut anlegen?
Erstellt sich der Index selbst neu beim Hinzufügen und Löschen von D
atensätzen?
Kennst sie damit jemand genauer aus?
Gruß
Stefan
am 12.03.2009 18:23 Uhr schrieb Thomas Tempelmann unter
[email protected]:
Hi,
Das Hauptproblem ist, daß man erstmal der Listbox beibringen muss,
dass sie die Scrollbalken so einrichtet, daß sie auch 65000 Zeilen
suggeriert und anwählbar macht (z.B. durch Page up/down-Tasten u
sw.)
Den Rest kann man dann, wie Metti vorschlägt und wie es die "on
demand" LB macht, über die Paint-Events lösen, also erst die Daten
holen, wenn sie auch wirklich gezeigt werden sollen.
Um erstmal die 65000 Dummy-Zeilen in die Listbox zu kriegen, kann
man
evtl. mit der neuen Direktzuweisung arbeiten: Irgendwie kann man
doch
nun die gesamte Listbox in einem Rutsch füllen, indem man Cell(-
1,-1)
zuweist, oder so ähnlich.
Yup, da kann man einen tab-return getrennten string zuweisen, aber...
D.h, man baut vorher einen passenden String zusammen, und weist den
dann zu. Das geht vermutlich schneller, als wenn man 65000mal AddRow
aufruft.
Habe ich auch gedacht. Ist aber langsamer, und zwar nicht zu knapp
(4-mal in
meinem Test! Siehe auch
http://support.realsoftware.com/listarchives/realbasic-nug/2008-12/msg00464
.
html)
Wahrscheinlich splittet RB den Initstring dann wieder und ruft
intern den
addrow-Befehl 65000 mal auf, und man hat nur Zeit damit vertrödelt
, den
string für die cell(-1,-1) aufzubauen.
Maximilian Tyrtania