Domino 9 und frühere Versionen > ND7: Entwicklung
Positionieren in einer Textdatei
Pyewacket:
Ganz so hoffnungslos ist der Fall nicht. Es müssen aber ein paar Bedingungen erfüllt sein.
- Die Exportdatei ist nach dieser Nummer die du suchst sortiert.
- jedes der drei Felder hat eine fixe Länge, ist der Inhalt kürzer muss mit Leerzeichen aufgefüllt werden.
Du kannst jetzt mit FileLen() die Grösse der Datei bestimmen.
Den Wert geteilt durch die Satzlänge ergibt die Anzahl Datensätze
Dieser Wert muss ein Vielfaches der festen Satzlänge sein, sonst stimmt was nicht.
Je nachdem wie du die Datei erzeugst musst du eventuell noch die Zeilenendekennung mit zur Satzlänge dazuzählen.
Open der Datei mit der Option Random und Angabe der Satzlänge
Mit der GET Anweisung kanns du nun unter Angabe der Satznummer direkt eine Zeile Lesen.
Das geht schon mal schneller als die Datei sequentiell durchzulesen.
Wenn du einen bestimmten Eintrag suchst, kannst du das mit binärem Suchen relativ schnell machen. Du liest den Satz in der Mitte der Datei. Je nachdem ob dein Suchbegriff grösser oder kleiner dem gefundenen ist musst du in der oberen oder unteren Hälfte weitersuchen bis du entweder den gewünschten Satz gefunden hast oder bis Unter- und Obergrenze des Suchbereichs gleich sind. Beschrieben ist das in der Wikipedia unter "Binäre Suche".
Bei 2 Mio Datensätzen müsstest du nach spätestens 21 Dateizugriffen den Datensatz haben oder wissen daß er nicht vorkommt.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln