Domino 9 und frühere Versionen > ND8: Entwicklung
Geschwindigkeit view.getalldocumentsbykey vs. view.ftsearch
jo@chim:
Per Query über eine Beispielmaske mit 10 Feldern ein Collection von max. 1.000 Dokumenten (normalerweise ca. 200-300) aus einer Ansicht mit max. 15.000 Dokumenten generieren und einen Stamp setzen...
... Lösungsmöglichkeit 1: Suche per view.getallldocumentsbykey(array... in einer Ansicht mit 10 kategorisierten Spalten für die Suchfelder
...Lösungsmöglichkeit 2: view.FTSearch(...
Was würdet Ihr empfehlen? Ist FTSearch tatsächlich wesentlich schneller?
(btw: gibts irgendwo eine ordentliche Übersicht über die SELECT Syntax von FTSearch? Ich habe nix g'scheits gefunden)
Peter Klett:
Bei FTSearch ist wichtig zu wissen, dass der temporäre Index bei einer nicht-indizierten Datenbank maximal 5.000 Dokumente verarbeiten kann. Die Datenbank muss deshalb zwingend einen FT-Index besitzen.
Ich persönlich bin ja ein Fan von db.Search, spart die Ansicht und ist sehr flexibel, ob das performanter ist, kann ich aber nicht sagen. Vielleicht einen Gegenversuch wert ...
koehlerbv:
--- Zitat von: jo@chim am 07.02.13 - 14:42:53 ---(btw: gibts irgendwo eine ordentliche Übersicht über die SELECT Syntax von FTSearch? Ich habe nix g'scheits gefunden)
--- Ende Zitat ---
Die steht in der Client-Hilfe ;)
Das GetAllDocumentsByKey würde ich ausschliessen (wegen der dazu erforderlichen Ansicht).
Ich würde - wie Peter - auch ein dbSearch in Betracht ziehen.
Bernhard
jo@chim:
Ok, danke...
... bzw.: db.search oder view.ftsearch?!
Die DB hat wesentlich mehr als die genannten 10k Doks - das sollte doch eine Ansicht mit entsprechender Vorauswahl erheblich schneller sein, oder?
Peter Klett:
Eine Ansicht muss permanent vom Server aktualisiert werden, ein db.Search braucht keine und nutzt quasi eine temporär erstellte (anhand der Selektionsformel, die man dem Befehl übergibt).
Ohne das jemals gemessen zu haben, wage ich zu behaupten, dass ein view.Refresh, den ich vor solch einem Zugriff über eine Ansicht vorsichtshalber ausführen würde, nicht viel weniger Zeit kostet, als eine temporär erstellte "Ansicht" im db.Search, spart dem System aber die Verwaltung dieser sonst nicht notwendigen Ansicht.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln