je voller desto langsamer suchen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: je voller desto langsamer suchen

Re: je voller desto langsamer suchen

von DPunch » Do, 18.08.2011 17:30

Aloha
steffn hat geschrieben:Keine Ahnung, was Du mit "wie" meinst.
Naja, "wie" eben.
Mit einem Makro? Wie sieht das Makro aus? Wie definierst Du den Suchbereich? Suchst Du auch tatsächlich in diesem Bereich? etcpp

In einem Tabellenblatt, in dem ich die ersten 201 * 10002 Zellen beschreiben lassen habe mit unterschiedlichen Strings (201 Spalten * 10002 Zeilen = 2 Mio beschriebene Zellen), dauert die Suche nach dem in Zelle "EU5001" (Spalte 151) stehenden String knapp 3500 Ticks, wenn ich die Suche über das ganze Blatt laufen lasse.
Lasse ich nur in der Spalte "EU" suchen, dauert das Ganze noch knapp 250-300 Ticks (Faktor >10).
Grenze ich die Suche auf den Bereich "EU2500:EU7500" ein, dauert die Suche immer <250 Ticks.
Das heisst, die Suche braucht selbst bei 10000 beschriebenen Zeilen nichtmal eine halbe Sekunde, wenn ich sie auf eine einzelne Spalte beschränken kann.

Das widerspricht in vollem Umfang Deiner Aussage
egal wie klein der Suchbereich auch ist
und lässt auf eine falsche Herangehensweise schliessen.

Daher ist die essenzielle Frage: "wie" suchst Du?

Re: je voller desto langsamer suchen

von komma4 » Do, 18.08.2011 14:34

steffn hat geschrieben: dauert immer länger, egal wie klein der Suchbereich auch ist.
Dann mal konkret:

Welche OOo Version?
Welches Betriebssystem?
Welches Speicherformat?

Welcher Suchbereich?
Mit welchem Code?

Ich kann hier keine Geschwindigkeitsprobleme bei einem 14000-Zellen grossem Bereich feststellen.

Re: je voller desto langsamer suchen

von steffn » Do, 18.08.2011 13:45

Hallo DPunch.

Ich habe den Sinn darin nicht gefunden, jemandem, der behauptet, den Suchbereich klein zu halten, zu empfehlen, den Suchbereich zu verkleinern.

Was:
Ein Wort in einer Spalte mit jeweils einem Wort pro Zelle.
Wo:
In einem Bereich in einer Spalte auf einem Tabellenblatt in Calc.
Wie:
Keine Ahnung, was Du mit "wie" meinst.

Re: je voller desto langsamer suchen

von DPunch » Do, 18.08.2011 13:24

Aloha
steffn hat geschrieben:Hast Du (...) bei Deiner Antwort bedacht, oder hast Du das übersehen?
Möglicherweise hat er es bewusst aussen vor gelassen, weil die Größe des Suchbereichs natürlich eine Rolle spielt, je kleiner desto schneller.

Vielleicht solltest Du mal zum Besten geben, was Du wo wie suchst.

Re: je voller desto langsamer suchen

von steffn » Do, 18.08.2011 12:22

Hallo F3K Total.

Hast Du
steffn hat geschrieben:egal wie klein der Suchbereich auch ist
bei Deiner Antwort bedacht, oder hast Du das übersehen?

Re: je voller desto langsamer suchen

von F3K Total » Mi, 10.08.2011 18:48

Hallo Steffn,
nach meiner Kenntnis kann man den Searchdescriptor auch auf einen "CellRange" anwenden:

Code: Alles auswählen

sub search_in_range

osheet = thisComponent.Sheets(0)'erste Tabelle
oRange=osheet.getCellRangebyName("A1:N600")'Zellbereich
oSuche = oRange.createSearchDescriptor()
oSuchstring="600"

   With oSuche
      .setSearchString(oSuchstring)
   End With
   oSuchErg = oRange.findall(oSuche)
   oSuchErgEnum=oSuchErg.createenumeration
   while oSuchErgEnum.hasmoreelements
   oEinzelSuchErgebnis=oSuchErgEnum.nextelement
   msgbox "Der Suchbegriff '"+oSuchstring+"' wurde in Zelle "+oEinzelSuchErgebnis.AbsoluteName+" gefunden"
   wend

End sub
Gruß R

Re: je voller desto langsamer suchen

von steffn » Mi, 10.08.2011 15:48

alte Idee,
wieder augegriffen,
zweiter Versuch,
bitte um Unterstützung

je voller desto langsamer suchen

von steffn » Do, 05.02.2009 21:43

Hallo und hilfe!

Meine Tabelle mit Wörtern wird immer voller und das Suchen mit 'searchdescriptor' nach einzelnen dauert immer länger, egal wie klein der Suchbereich auch ist. Und das regt mich sehr auf.

In den Zellen ist je ein Wort.
Die Spalten sind alphabetisch sortiert.
Je voller ein Blatt in Calc ist, desto länger dauert das Suchen nach einem Wort in einer Zelle.
Je höher der Index der Zeile der Zelle mit dem Wort ist, desto länger dauert das Suchen danach.

Könnte mir jemand bitte erklären, wieso das so ist?
Und hat jemand Tipps, wie man die Suchzeit verringern kann?

Meine einzige Idee warum das so ist, lautet: Open Office greift sich alle beschriebenen Zellen, was so lange dauert.
Meine einzige Idee das zu umgehen ist, den Suchbereich in eine leere Datei zu kopieren und dann dort zu suchen, aber ... das will ich im Moment noch nicht akzeptieren.

Nach oben