![]() |
Auslesen einer Datenbank in Delphi dauert ewig trotz Indices
Habe eine große Datenbank mit ca 10000-50000 Datensätzen. Habe einen Index gesetzt und der funktioniert auch wunderbar.
Wenn ich allerdings die Datenbank mit Delphi abrufe braucht er ewig um alle Datensätze komlett anzuzeigen. Er ignoriert also meinen in der Datenbank vorhandenen Index. Gibt es irgendeinen SQL befehl mit dem man einen bestimmten Schlüssel auf eine bestimmte Tabelle anwenden kann? Ideen wären super. Danke. Mfg nadine |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Zitat:
Zitat:
Zitat:
|
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Hallo endyexcellent,
bei Interbase gibt es das Schlüsselwort Plan, mit dem sowas möglich wäre. Welche Datenbank nutzt du denn? |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Hihi. Danke für Eure Hinweise. Ich muss gestehen ich habe gerade erst angefangen mit Datenbanken und Delphi. Deshalb kenne ich mich so gut wie nicht aus.
Ich arbeite mit Firebird, sprich interbase. Ich zeige meine Datenbank in Delphi mit DBGrid an. Rufe sie ab mit Database, Dataset und habe noch eine Transaction. |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Arbeitest du zufällig mit XP.
Dann hätte ich folgenden Vorschlag: Zitat:
|
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Hmmm. Ich glaube nicht, dass das am OS liegt.
Ist doch wurscht welche Datenbank gemeint ist, dauern sicher alle mit einigen tausenden oder millionen Datensätzen vollgestopften DB, menge Zeit bis sie vollständig angezeigt werden. Setzt man allerdings einen Index geht sollte das Ruck Zuck funktionieren, da er ja nur ein wenigstel der Datensätze durchsuchen muss. Ich blick nicht mehr durch. |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Zitat:
Zitat:
Zitat:
Zitat:
Ich hab mir eben mal eine Tabelle mit knapp über 50000 Einträgen erstellt. Lasse sie zum Programmstart im DBGrid anzeigen. Was soll ich sagen, ich kann so schnell nicht hinterher schauen. Arbeitest du mit Join's oder wird deine Ergebnismenge sortiert? |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Aaaalso. Ich will hier niemanden angreifen. Du weißt sicher wovon du redest@Memo.
Ich habe eine Datenbank, sagen wir mal eine Rechnungsdatenbank. Nun gebe ich diese aus in meinem Delphi Programm. Möchte ich jetzt alleRechnungen rausfiltern die einen höheren Betrag als z.Bsp.: 2000€ betragen. Nun habe ich ca 500000 Rechnungen oder meinetwegen 1Million. Jetzt sucht meine Datenbank von oben nach unten alle ab und zeigt sie dann an. Setze ich aber einen Index auf den Betrag, dann durchläuft meine Datenbank doch ganz wenige Schritte bis sie ihre Datensätze gefunden hat. Ich habe also diesen Index gesetzt. Er funktioniert auch innerhalb meines IB Expert, da kann ich auch kaum nachschaun so schnell listet die DB meine Sätze auf. Aber das funktioniert nicht, wenn ich meine DB über mein Delphi Prog im DBGrid aufrufe. Wieso nicht? |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Kannst du deinen Select-Befehl mal hier einstellen.
Falls diese DB nicht unter Staatsgeheimnis fällt, kannst du sie ja mal gezippt anhängen. |
Re: Auslesen einer Datenbank in Delphi dauert ewig trotz Ind
Hallo endyexcellent,
du solltest die IBX Komponenten nutzen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz