Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind

  Alt 25. Sep 2003, 19:04
Hey,

es gibt viele Möglichkeiten sich die Daten zu holen. Am schnellsten ist sicherlich eine passende SQL zu formulieren. Was macht es für einen Sinn, 500000 Records vom Server zum Client zu schicken (genau das passiert wenn der Cursor Clientseitig läuft). Kein Mensch sucht dein DBGrid mit 500000 Records ab. Formuliere einfach deine Abfrage genauer. 10 Records oder vielleicht ein paar mehr sind grad noch zumutbar manuell zu durchlaufen, mehr sollten es nicht sein.

Und genau bei solchen Abfrage greift dein Index, und nicht etwa in Delphi beim Anzeigen von 500000 Records.

Bsp:
Select RechnungNr, Betrag from Rechungen where RechnungNr = 1234 durchläuft in der Tat auch auf dem Server deine ganze Datenbank sequentiell durch um nachher vielleicht einen zu finden. Nicht gerade effektiv. Bei einem Index geht eben genau das schneller, da die Spalte RechnungNr dann sortiert auf dem Server verwaltet wird. Das Suchen in einer sortierten Liste ist um Einiges effektiver. Bei 500000 Records sind maximal 19 Vergleiche nötig, um die Rechnungnr eindeutig zu finden.

Gruss,
Tom
  Mit Zitat antworten Zitat