Domino 9 und frühere Versionen > ND7: Entwicklung

Löschen aus Ansicht dauert sehr lange

(1/8) > >>

pl001:
Hallo,

ich muss alle Dokumente (inkl. Änderungen und Löschung) aus einer Ansicht in eine andere Datenbank kopieren. Hierzu verwende ich folgendes Script als Agent:


--- Code: ---Sub Initialize
Dim session As New NotesSession
Dim sourcedb As NotesDatabase
Dim targetdb As NotesDatabase
Dim sourceview As notesview
Dim targetview As notesview
Dim dc As NotesDocumentCollection
Dim vc As NotesViewEntryCollection
Dim doc As NotesDocument

Set sourcedb = New NotesDatabase("SERVER","database.nsf")
Set targetdb = session.CurrentDatabase


Set sourceview = sourcedb.GetView("People")
Set targetview = targetdb.GetView("all")
Set vc = targetview.AllEntries
Call vc.RemoveAll(True)


Set doc = sourceview.GetFirstDocument

While Not(doc Is Nothing)
Call doc.CopyToDatabase(targetdb)
Set doc = sourceview.GetNextDocument(doc)
Wend
End Sub
--- Ende Code ---

Es werde also erst alle Dokumente der Ansicht "all" aus der Ziel-DB gelöscht und anschließend werden alle Dokumente der Ansicht "People" von der Quell-DB zur Ziel-DB kopiert. Es handelt sich dabei aktuell um ca. 1500 Dokumente, aber der Agent benötigt hierfür ca. 3 Minuten. Das Problem ist hierbei offensichtlich das Löschen, denn wenn ich dies zuvor manuell mache und dann den Agent starte benötigt er nur noch 15 Sekunden.

Wie kann ich das Löschen beschleunigen?

Gruß
Peter

oxyd21:
Wenn du was aus nem View löschst, wird der im Allgemeinen wieder aktualisiert. An welcher Stelle brauch der Debugger lange?

pl001:

--- Zitat ---Wenn du was aus nem View löschst, wird der im Allgemeinen wieder aktualisiert.
--- Ende Zitat ---

Das in der View alle Dokumente angezeigt werden, wäre es natürlich auch möglich einfach alle Dokumente in der DB zu löschen. Wäre das möglich und sinnvoll?


--- Zitat ---An welcher Stelle brauch der Debugger lange?
--- Ende Zitat ---

Sorry, aber wo kann ich das sehen. Habe leider nicht viel Erfahrungen mit Notes-Programmierung.


Gruß
Peter

ascabg:
Hallo,m

Aber Du kannst doch Dein Script im Debugger laufenlassen, oder an geeigneten Stellen
Print-Befehle einbauen.


Andreas

oxyd21:

--- Zitat von: pl001 am 09.02.11 - 11:52:24 ---Das in der View alle Dokumente angezeigt werden, wäre es natürlich auch möglich einfach alle Dokumente in der DB zu löschen. Wäre das möglich und sinnvoll?
--- Ende Zitat ---
??? Kapier ich nicht


--- Zitat ---Sorry, aber wo kann ich das sehen. Habe leider nicht viel Erfahrungen mit Notes-Programmierung.

--- Ende Zitat ---
Werkzeuge -> Debug LotusScript

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln