Domino 9 und frühere Versionen > ND6: Entwicklung

Walk the View

<< < (3/7) > >>

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