je voller desto langsamer suchen
Moderator: Moderatoren
je voller desto langsamer suchen
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.
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.
oo4.1.2 in winxp pro mit sp3
Re: je voller desto langsamer suchen
alte Idee,
wieder augegriffen,
zweiter Versuch,
bitte um Unterstützung
wieder augegriffen,
zweiter Versuch,
bitte um Unterstützung
oo4.1.2 in winxp pro mit sp3
Re: je voller desto langsamer suchen
Hallo Steffn,
nach meiner Kenntnis kann man den Searchdescriptor auch auf einen "CellRange" anwenden:Gruß R
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
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: je voller desto langsamer suchen
Hallo F3K Total.
Hast Du
Hast Du
bei Deiner Antwort bedacht, oder hast Du das übersehen?steffn hat geschrieben:egal wie klein der Suchbereich auch ist
oo4.1.2 in winxp pro mit sp3
Re: je voller desto langsamer suchen
Aloha
Vielleicht solltest Du mal zum Besten geben, was Du wo wie suchst.
Möglicherweise hat er es bewusst aussen vor gelassen, weil die Größe des Suchbereichs natürlich eine Rolle spielt, je kleiner desto schneller.steffn hat geschrieben:Hast Du (...) bei Deiner Antwort bedacht, oder hast Du das übersehen?
Vielleicht solltest Du mal zum Besten geben, was Du wo wie suchst.
Re: je voller desto langsamer suchen
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.
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.
oo4.1.2 in winxp pro mit sp3
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: je voller desto langsamer suchen
Dann mal konkret:steffn hat geschrieben: dauert immer länger, egal wie klein der Suchbereich auch ist.
Welche OOo Version?
Welches Betriebssystem?
Welches Speicherformat?
Welcher Suchbereich?
Mit welchem Code?
Ich kann hier keine Geschwindigkeitsprobleme bei einem 14000-Zellen grossem Bereich feststellen.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: je voller desto langsamer suchen
Aloha
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
Daher ist die essenzielle Frage: "wie" suchst Du?
Naja, "wie" eben.steffn hat geschrieben:Keine Ahnung, was Du mit "wie" meinst.
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
und lässt auf eine falsche Herangehensweise schliessen.egal wie klein der Suchbereich auch ist
Daher ist die essenzielle Frage: "wie" suchst Du?