Hallo Manfred,
Manfred hat geschrieben:Hallo Martin,
jetzt verwirrst Du mich ein wenig....
Sorry
Manfred hat geschrieben:Habe ich Dich richtig verstanden, Du hast wenig dauerhafte Indexdateien?
Genau! Wenn ich mal eine Indexdatei brauche, dann baue ich sie mir neu. Dadurch habe ich keine Probleme mit korrupten Indexdateien.
Manfred hat geschrieben:Das verstehe ich nicht. Du mußt doch die Datenbanken evtl. verknüpfen.
Nun, ich arbeite nicht mit DbSetRelation(). Und da, wo ich Informationen aus einer anderen Datenbank brauche, öffne ich sie mir vorab und indiziere sie ggf., um dann mit SEEK einfach zu suchen.
In einem anderen Fall z.B. habe ich ein Hauptarchiv aller bisher gemeldeten Hunde - dieses sortiere ich mir wann immer ein Katalog komplett sortiert werden soll (nur in diesem Fall werden die Daten im Hauptarchiv nämlich erneuert!) und dann kann ich bei der Eingabe eines Hundes in der sortierten Datei mit binärem Suchen sehr schnell die Daten finden.
In anderen Fällen (bei kleineren Datenbanken) bin ich mittlerweile dazu übergegangen, die nötigen Felder in ein Array zu lesen und dieses zu sortieren. Daten werden dann nur noch im Array gesucht - geht viel schneller, als mit Indexdateien zu hantieren.
Manfred hat geschrieben:Was machst Du bei großen DB´s ? Jedesmal den Index neu aufbauen?
Im Prinzip ja! Ich habe (abgesehen von dem o.g. Hauptarchiv, das ja nicht indiziert ist) nur eine größere Datei und die enthält Nationalitäten, Postleitzahlen und Orte, so dass nach Eingabe eines Nationalitätenkürzels und der Postleitzahl der Ort automatisch vorbelegt wird und nicht neu erfasst werden muss.
Diese indiziere ich jedesmal neu, wenn man in die Eingabemaske der Hundedaten geht. Hört sich schlimm an, dauert aber effektiv im Moment gerade mal zwei bis drei Sekunden. Und das reicht gerade, um sich noch mal ordentlich zu recken und strecken, bevor man die nächsten Stunden mit der Dateineingabe beschäftigt ist.
Manfred hat geschrieben:NTX Dateien? Hm. Nun, es stimmt, die waren unter Clipper normal. Aber die sind doch recht groß? Sind CDX nicht auch schneller. Und durch die Kompression auch kleiner und sie verwalten mehrere Tags in einem.
Letzteres kann durchaus auch ein Nachteil sein!! Meine Applikation läuft ja nicht im Netz, sondern nur als Einzelplatzversion. Aber im Netz kann ein gemeinsamer Zugriff auf eine solche CDX-Datei eine ziemliche Bremse sein! Sobald nämlich einer einen entsprechenden Eintrag ändert, wird auch die Indexdatei für die anderen kurzfristig gesperrt. Das kann sich dann hochschaukeln...
Manfred hat geschrieben:Also da muß ich mich jetzt wirklich etwas dumm stellen, kannst Du mir Deinen Weg etwas genauer erklären? Das wäre nett.
Ich hoffe, ich war nett genug?
Viele Grüße,
Martin