Autor Thema: viele Dokumente vergleichen  (Gelesen 3684 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
viele Dokumente vergleichen
« am: 18.02.09 - 15:46:22 »
Hallo zusammen,

wenn ihr viele Dokumente in 2 DBs vergleichen wolltet würdet ihr die Dokumente mit einen Walk the View durchgehen oder eher über die Entrys .

Ich persönlich würde eine Walk the View machen. Mein Kollege nimmt aber die Entrys. Was ist denn nun besser ?
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #1 am: 18.02.09 - 15:53:53 »
Entrys sind auf jeden Fall schneller :) und eleganter!
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #2 am: 18.02.09 - 15:54:26 »
Warum ?
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: viele Dokumente vergleichen
« Antwort #3 am: 18.02.09 - 16:02:49 »
Kommt IMHo u.a. drauf an
a) wie man durchstept (GetNthDocument ist böse)
b) ob die Daten, die man über den Entry bekommt reichen, oder ob man erst recht wieder das Dokument öffnen muss - dann würd ich gleich über die view gehen.
« Letzte Änderung: 18.02.09 - 16:12:42 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #4 am: 18.02.09 - 16:04:24 »
Bei Entrys durchläufst Du den Ansichtsindex, das ist eine fertige Tabelle. Bei View-->Dokument musst Du dir noch das Dokument aus der DB holen und im Dokument dann noch das Feld raussuchen... . Das dauert etwas, nicht viel aber summiert sich über die Anzahl vieler Dokumente.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #5 am: 18.02.09 - 16:36:40 »
Naja nun sind aber nicht alle informationen in der ansicht vorhanden, also muss man dann früher oder später eh ans dokument oder ?

@m3

Das mit nTh-Document ist mir bekannt.

Ein Freund meinte letztens dass GetGetLastDocument sogar schneller ist als GetFirstDocument, kann das jemand hier bestätigen.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #6 am: 18.02.09 - 16:38:59 »
Das ist natürlich richtig, wenn man mit Entrys arbeitet sorgt man auch dafür dass alle Infos in der Ansicht sind, ansonsten wäre das "Gewollt und nicht gekonnt"!
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #7 am: 19.02.09 - 21:59:44 »
"Entrys" ist aber ein sch**ss-Englisch. Wenn schon: "Entries". Bitte ...  ;)

Robert: Was nun schneller ist,  kommt auf Deine Rahmenbedingungen an. Wenn Du erste Hinweise ("Da muss was sein") schon über eine View bekommst, dann würde gelten: Erst so, dann weiter eben anders. Wenn das prinzipiell nicht gilt: Dann ist sind die ViewEntries doch sowieso ausgeschlossen. Ist das nicht offensichtlich?

Was das Laufzeitverhalten "GetFirstEntry vs. GetLastEntry" angeht: Wie hat der Knabe denn das gemessen? Das kommt alles auch der gleichen internen Table zur View, und welche NoteID jetzt gezogen werden soll - egal (in diesem Fall). Welche Rolle sollte das spielen? First or Last - hier geht es nur um Bruchteile von Millisekunden. Es lohnt nicht, darüber zu debattieren.

Bernhard

PS: Auf die Fortsetzung dieses Threads bin ich mal wieder gespannt  ;)

Offline Kristina

  • Frischling
  • *
  • Beiträge: 7
  • Geschlecht: Weiblich
Re: viele Dokumente vergleichen
« Antwort #8 am: 20.02.09 - 09:04:42 »
Hallo ihr

um noch mal auf den ursprünglichen Eintrag zurückzukommen, es ging darum viele Dokumente in 2 DB's miteinander zu vergleichen.
Wie bekommt man das schnell.
ein paar Dinge dazu :
- erstens: ich muss einen Weg finden, nicht jedes Dokument mit jedem vergleichen zu müssen.
- zweitens: bei Dokumenten ist leichter zu entscheiden, dass sie verschieden sind, als das sie gleich sind. -> Spricht für Entries. Ein gezielt ausgewähltes item reicht.
- drittens: wenn es schnell sein soll, ist mir "elegant" sch****egal.


Kristina¨





Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #9 am: 20.02.09 - 09:29:16 »
Um eine grosse Menge an Dokumente zu vergleichen, hat Andrew Pollack bereits 2003 was geschrieben. Zusammensuchen müsst ihr euch das aber selber.
http://www.thenorth.com/apblog4.nsf/0/5F6A05E49BDB349285256EBC0054545B
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #10 am: 23.02.09 - 11:23:20 »
Zum Verweisartikel von eknori:

Wenn man statt dem Evaluate(@Password(string))

ein

notesSession.HashPassword( String )

nimmt, umgeht man damit die petenziellen Fallen der String-Delimeter.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #11 am: 23.02.09 - 23:03:58 »
Kristina, die Diskussion bleibt solange rein theoretisch (nicht unbedingt hilfreich bei einem solch weiten Feld), bis Du zumindest ansatzweise ansagst, was Du vergleichen musst. Vielleicht kommen da dann ja auch noch Aspekte wie Normierung, Vorauswahl etc. hinzu.

Kannst Du etwas praktischer werden?

Bernhard

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: viele Dokumente vergleichen
« Antwort #12 am: 24.02.09 - 10:40:03 »
Also ich habe jetzt für mich einen Weg gefunden, der funktioniert.

Ich gehe in DB1 hole mir alle dokumente per getalldocumentsbykey.... so habe ich einen massigen zugriff auf die db.

die darausresultierende doccoll gehe stück für stück durch und erstelle eine anhand einer vorher definierten fieldlist einen string mit allen gewünschten feldern spereiert durch einen delimiter.
als listtag habe ich einen schlüssel angeben.

wenn ich diese eine riesiege liste fertig habe gehe ich in die andere db mache ein walk the view und gucke gibt es den schlüssel in der liste, wenn ja baue ich den wieder einen datenstring zusammen , dann vergleiche ich die beiden strings und erst wenn dann noch ein unterschied besteht gucke ich mir die strings genauer an und kann dann feststellen wo der unterschied ist.

wenn ich einen eintrag in der liste gefunden habe entferne ich den eintrag aus der liste damit ich wieder speicher frei gebe.

das ganze dauert bei 300.000 dokumenten bei 10 felder rund 44 min , womit ich persönlich sehr zufrieden bin
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz