Autor Thema: Effiziente Suche  (Gelesen 1683 mal)

botschi

  • Gast
Effiziente Suche
« am: 23.03.07 - 18:16:03 »
Moin,

ich wäge gerade ab, ob die Suche by key und über eine View performanter ist, als eine Suche über die DB mit db.search oder gar ftsearch. Ich habe nachts einen Agenten, der aus ca 50.000 Dokumenten die richtigen (ca 10-20 Dokumente) finden soll. Irgendwann soll der Agent auch den Usern zur Verfügung stehen, die eine schnelle Performance natürlich begrüssen würden.
Ich habe in diesem Forum diesen Beitrag gefunden:
http://atnotes.de/index.php?topic=24775.0

Leider wurde de Beitrag nicht ganz abgeschlossen und die entscheidene Frage ist offen geblieben...

Hat sich da in Notes7 etwas geändert?
Welche Suche verwendet ihr?
Gibt es einen "Richtwert" für die Suche?

Über Erfahrungsberichte würde ich mich freuen  ;D

Danke und schönes WE!

Matthias

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Effiziente Suche
« Antwort #1 am: 28.03.07 - 10:26:53 »
NotesView.GetDocumentByKey bzw. GetAllDocumentsByKey bedient sich unmittelbar eines Ansichtsindizes, während NotesDatabase.Search über die Gesamtheit aller Dokumente arbeitet (wenn auch da - wo machbar - auf interne Tables zurückgegriffen wird).
In der Regel wirst Du also mit dem Rückgriff auf einen Ansichtsindex deutlich schneller sein.

Das ist bei R7 so, wie es bereits bei R4 der Fall war.

Bernhard

botschi

  • Gast
Re: Effiziente Suche
« Antwort #2 am: 28.03.07 - 14:04:56 »
Danke Bernhard.
Ich dachte schon, es meldet sich keiner auf die Frage...

Ich brauche Dokumente, die in einen bestimmten Zeitraum fallen und habe mich deswegen für die Suche über die Datenbank entschieden. Die Suchformel ist jetzt relativ groß, aber für mich erstmal einfacher, da es 3 Wege geben muss die richtigen Dokumente zu bekommen. So würde sich immer der Schlüssel ändern und ich bräuchte dann auch wohl 3 Ansichten. Eigentlich kein Problem, aber das jetzt wieder umzustricken kommt zu diesem Zeitpunkt nicht in Frage.

Getreu dem Motto "old code never dies, you have to kill it!" werden wir da nochmal ran müssen. Zum Monatsanfang ist es wichtig, dass es erstmal tut.

Matthias

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Effiziente Suche
« Antwort #3 am: 28.03.07 - 14:12:21 »
Die Suche nach Zeiträumen ist einer der typischen Fälle, bei denen man tatsächlich am schnellsten mit db.Search zum Ziel kommt und GetDocumentByKey so ziemlich ausgeschlossen ist.
Von daher sehe ich keine Veranlassung, den Code umzubauen.

Bernhard

botschi

  • Gast
Re: Effiziente Suche
« Antwort #4 am: 28.03.07 - 14:28:26 »
Aha!
Auch sehr schön die Erfahrung und Meinung von anderen Entwicklern zu hören. Jedesmal wenn sich die Aufgabe ergibt, gewisse Dokumente als Ergebnis zu bekommen, frage ich mich WIE es wohl am Schnellsten, Besten oder Professionellsten geht.

Oft führen viele Wege nach Rom.

Danke für Deine Meinung!

Matthias

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz