Entwickler-Ecke
Datenbanken - Geschwindigkeitsproblem
Aya - Fr 30.08.02 18:58
Titel: Geschwindigkeitsproblem
Hi,
ich hab ne SQL Datenbank mit 100.000 Einträgen darin welche ich per Knopfdruck in eine TListBox einlese
Quelltext
1:
| ListBox1.Items.Add(Query.FieldByName('bla').Text); |
das dauert eeeeeeewig lange... wenn ich aber zur anzeige ein DBGrid benutze sind die daten in weniger als 1 Sek im DBGrid drinne...
gibt es ne möglichkeit die auflistung in der ListBox in etwa so schnell zu machen wie im DBGrid??? (Das DBGrid kann ich nich nehmen weil es vom aussehen her absolut 0000-nicht in's Design passt..)
Au'revoir,
Aya
Arakis - Fr 30.08.02 19:02
Hi Aya, du musst wissen, dass das DBGrid vor Borland nicht alle 100.000 Einträge auf einmal liest 8)
Erst wenn du anfängst zu scrollen, werden die Daten dynamisch nachgeladen, da daduch ergibt sich ein ernormer Geschwindigkeitsvorteil.
Wie man so was in einer Listbox realisiert weiß ich leider nicht. :(
Bis dann
Klabautermann - Fr 30.08.02 20:35
Hallo,
du solltest schon einiges an Geschwindigkeit rausholen wenn du vor dem Füllen
Quelltext
1:
| Listbox1.Items.BeginUpdate; |
und danach
Quelltext
1:
| Listbox1.Items.EndUpdate; |
aufrufst. Damit verhinderst du, das nach jedem hinzugefügten Eintrag die Listbox neu gezeichnet wird.
Gruß
Klabautermann
Cashels - Sa 31.08.02 14:10
Hi,
falls du mit MSSQL arbeiten solltest, benutze doch mal den Firehouse Cursor (CursorLocation=clUseServer, Cursortype=ctForwardOnly, Locktype=ltReadOnly). Ist für dein Fall genau das Passende und du gewinnst damit mit Sicherheit um das 20-fache an Geschwindigkeit.
Ausserdem kannst du noch dein CacheSize z.B. auf 100 setzen um noch etwas schneller durchscrollen zu können.
Die ganzen Eigenschaften beziehen sich auf TADODataset.
Gruss,
Tom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!