Performance beim Vergleichen von Dokumenten

  • Hallo,
    mein Agent durchläuft alle markierten Dokumente und soll die Feldinhalte von 3 Feldern (f1, f2, f3) mit den Feld-Inhalten aller Dokumente in einer "alten" Datenbank vergleichen. Falls diese 3 Felder gleich sind, sollen einige Felder aus der alten DB in die neue übernommen werden.
    Der unten stehende Code ist relativ langsam (pro Dok. ca. eine Sekunde). Sowohl in der neuen Datenbank als auch in der alten Datenbank befinden sich ca. 500 Dokumente.
    Wer hat eine Idee, wie ich das schneller lösen kann?
    Danke im voraus


  • Logischerweise ist das langsam, weil du ja in Wirklichkeit 500x500 Schleifendurchläufe hast.


    Wenn du die Felder eh schon weisst und diese fix sind, dann bau doch einfach eine entsprechende Ansicht, die diese Kriterien als Schlüssel hat und dann brauchst du je Dokument nur noch einmalig ein GetDocumentByKey machen.


    Und sollte das nicht gehen, dann kannst du zumindest in deinem Script mal, nachdem er ein Dokument mit den passenden Werten gefunden hat, die innere Schleife verlassen.
    Damit wird dann die Anzahl der Schleifendurchläufe auch ganz schön verringert wenn etwas gefunden wird