Domino 9 und frühere Versionen > ND6: Entwicklung
Walk the View
koehlerbv:
Wenn Du schon dabei bist: Und mit GetNthDocument?
Bernhard
m3:
31.499 Dokumente in 367 Sekunden durchlaufen.
bikerboy:
So , ich bedanke mich schon mal, hatte gestern leider die zeit nicht mehr um hier vorbei zu schauen.
Haber mit GetNextDocument gearbeitet , hier einmal der KernCode :
--- Code: --- Set viewDoc = view.GetFirstDocument
searchKey = Cstr(viewDoc.GetItemValue("pumpSearchKey")(0))
i = 0
While Not viewDoc Is Nothing
Set redundantDoc = view.GetNextDocument(viewDoc)
While ready = False
If Not redundantDoc Is Nothing Then
If Cstr(redundantDoc.GetItemValue("pumpSearchKey")(0)) = searchKey Then
Call redundantDoc.Remove(True)
Set redundantDoc = view.GetNextDocument(viewDoc)
Else
ready = True
End If
End If
i = i +1
Print "Datensatz : " + Cstr(i) + " bearbeitet!"
Wend
Set viewDoc = view.GetNextDocument(viewDoc)
searchKey = Cstr(viewDoc.GetItemValue("pumpSearchKey")(0))
ready = False
i = i +1
Print "Datensatz : " + Cstr(i) + " bearbeitet!"
Wend
--- Ende Code ---
Am Anfang arbeitet er auch richtig performant und dann so ab 13.500 Dokumenten wird es ziemlich langsam und am Ende hängt er sich ganz weg.
Kann mir einer sagen was ich besser machen kann.
Ach bevor ich es vergesse, durch eine View habe ich die Dokumente so sortiert, dass das erste Dokument mit dem Schlüssel auch gleich das richtige ist.
koehlerbv:
Hast Du die AutoUpdate-Property auf False gesetzt?
Was man häufig unterschätzt: Print-Statements fressen mehr Performance, als man denkt (das ist aber im Gegensatz zum hier vermutlich überforderten Indexer nicht das Killerkriterium).
Bernhard
bikerboy:
Du meinst von der View ? Keine Ahnung muss ich gleich mal schauen.
Die Prints sollen drin bleiben, von wegen, damit man sieht dass er noch was tut.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln