-
Forum: Datenbanken
Delphi
by omata,
4. Feb 2009
Sorry, das wollte ich nicht. Werde mich jetzt hier ausklinken.
Wünsche dir aber noch viel Erfolg mit deinem Vorhaben.
-
Forum: Datenbanken
Delphi
by omata,
4. Feb 2009
Das ist aber egal, Indiezes sind innerhalb der Datenbank vorhanden und werden nur von dieser benutzt. Die Indiezes sind erstmal völlig hupe, es müssen MB an Daten erstmal in deine Anwendung gepumpt werden, da ist der Index wurscht. Der Flaschenhals besteht nunmal zwischen Festplatte und Arbeitsspeicher. Und selbst wenn die Daten dann endlich vorliegen, ist ein Umsortieren in deiner Anwendung...
-
Forum: Datenbanken
Delphi
by omata,
4. Feb 2009
Ich habe den gleichen Test jetzt nochmal mit MSSQL durchgeführt und komme auf das selbe Ergebnis. 45 Sekunden für 500000 Datensätze. Also Firebird ist top.
-
Forum: Datenbanken
Delphi
by omata,
4. Feb 2009
Ich habe das jetzt mal mit 500000 Datensätzen getestet. Meine Datenbank ist 114MB groß. Die Anwendung benötigt dann 320MB (Peak: 380MB) Arbeitsspeicher. Das Laden dauerte 45 Sekunden.
Wieviel Arbeitsspeicher hat dein System (bist du schon im Swap?) und wieviel möchtest du, das deine Anwendung an Arbeitsspeicher benötigt? Ist dir das völlig egal?
-
Forum: Datenbanken
Delphi
by omata,
3. Feb 2009
Komisch, ich habe hier keine Probleme damit. Naja war ein Versuch.
-
Forum: Datenbanken
Delphi
by omata,
3. Feb 2009
Und?
-
Forum: Datenbanken
Delphi
by omata,
2. Feb 2009
Schau dir mal bitte im ClientDataSet die Eigenschaft PacketRecords an. Setzte dort mal einen Wert von z.B. 1000 ein und versuche dein Glück...
-
Forum: Datenbanken
Delphi
by omata,
1. Feb 2009
Was mir gerade noch einfällt...
Wie sollen die verschiedenen Sortierungen umgesetzt werden?
Steht eigentlich der CommandTyp auf ctQuery oder auf ctTable?
Wird beim Umschalten auf eine neue Sortierung eine neue Datenbankabfrage gestartet?
Wenn ja, wieso ist dann ein Index in der Anwendung interressant? Dann ist doch nur wichtig, dass die Datenbank den Index kennt und ihn benutzt.
-
Forum: Datenbanken
Delphi
by omata,
1. Feb 2009
Das liegt nicht an der IDE.
Das sieht in den einzelnen Versionen überall gleich aus.
Der Ausführungsplan zeigt dir aber an, ob Firebird einen Index verwendet, dafür waren die Links, die ich angegeben habe.
Naja, du wirst das schon hinbekommen.
Edit: Ich habe auch verschiedene Zugriffsmethoden ausprobiert (ZEOS, dbExpress), beides gleich. Deshalb nochmal die Frage, was zeigt die...
-
Forum: Datenbanken
Delphi
by omata,
1. Feb 2009
Ja, das Thema ist nicht so einfach. Ich versuche mich mit dem Thema zu beschätigen und hatte deshalb die, wie ich fand, interresanten Links angegeben.
Hier ist auch noch einer.
Was zeigt denn dein Ablaufplan an, werden dort Indiezes verwendet?
-
Forum: Datenbanken
Delphi
by omata,
1. Feb 2009
Wie gesagt, ZEOS liefert genau das gleiche Verhalten wie dbExpress.
Ok, zurück zu deinem eigentlichen Problem: Indiezes
Schau mal hier und hier.
-
Forum: Datenbanken
Delphi
by omata,
31. Jan 2009
Hab ich auch getestet, selbes Verhalten.
-
Forum: Datenbanken
Delphi
by omata,
31. Jan 2009
So, ich habe das jetzt mit Delphi 7 und Turbo Delphi getestet. Eigentlich wollte ich das hier anhängen, nur leider ist das Archiv der Datenbank >3MB so das das leider nicht geht.
Beide Anwendung sind gleich schnell. Meine Datenbank ist ~30MB groß, hat 86600 Datensätze und 15 Spalten.
Das Laden der Daten dauert ~5 Sekunden. Der "Working Set" der Anwendung ist ohne Daten ~4MB und mit Daten...
-
Forum: Datenbanken
Delphi
by omata,
31. Jan 2009
Ich frage mich nur, ob das sinn macht. Soviele Datensätze in einer Anzeige, wer soll das überblicken? Wieso müssen immer soviele Daten in deine Anwendung und damit in deinen Arbeitspeicher gepumpt werden? Ich arbeite auch mit vielen Datensätzen, allerdings in der Datenbank und nicht in meiner Anwendung, zumindest nicht mit sovielen Daten zur selben Zeit.
-
Forum: Datenbanken
Delphi
by omata,
31. Jan 2009
Wie viele Zeilen und Spalten?
-
Forum: Datenbanken
Delphi
by omata,
29. Jan 2009
Müssen den alle Datensätze angezeigt werden? Sortiere doch nicht in deinem Programm, also nicht im ClientDataSet sondern lass die Sortierung von der Datenbank durchführen. Und begrenze die Anzahl der Datensätze.
-
Forum: Datenbanken
Delphi
by omata,
29. Jan 2009
Das verstehe ich jetzt nicht. Schlüssel oder Indizes was denn nun?
Ich verwendet Firebird locker mit >1000000 pro Tabelle und das ist richtig schnell. Ich verstehe deine Probleme nicht, was machst du da?
-
Forum: Datenbanken
Delphi
by omata,
29. Jan 2009
Deine Tabellen haben aber auch Schlüssel?