❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von HansGerstenkorn » Mo 4. Sep 2017, 18:03

Wenn ich Änderungen (vorzugsweise bei Formularen) vornehme oder neue Tabellen via copy&paste einfüge, "verschlcuckt sich meine DB häufig. Dabei stelle ich dann fest, dass das bei einer sehr kleinen DB vielleicht auch beim Import einer Tabelle an der Zeilenzahl liegt (2 Spalten mit rund 40.000 Zeilen).

Um nicht unnötig ein Thema hierzu aufzumachen bin ich zunächst auf der Suche, ob es an der Hardware (Notebook + Pc sind nicht die Neuesten)
liegt, ob ein Softwareproblem hinzu kommt (ich habe festgestellt, dass der Windows-Defender immer dann von LO augenscheinlich "angestossen wird = 30% CPU - Defender ausgeschaltet passiert das nicht) oder ob es vielleicht an der Anzahl aller Datensätze liegt. Vielleicht ist meine DB mittlerweile für das Betriebssystem zu groß?

Deshalb die Frage: Muss ich alle Tabellen mit allen Spalten und Zeilen multiplizieren und die Zahl der Beziehungen angeben, damit ich die Komplexizität DB definieren kann, oder wie bewerkstelligt man das?

Noch tappe ich "im Dunkeln"

Vielen Dank für Tips :-) Hans
Zuletzt geändert von HansGerstenkorn am Mi 6. Sep 2017, 14:36, insgesamt 1-mal geändert.
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

Freischreiber
* LO-Experte *
Beiträge: 837
Registriert: Fr 28. Mär 2014, 10:41

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von Freischreiber » Mo 4. Sep 2017, 18:10

Hallo HansGerstenkorn,

da kommen mehrere Ursachen in Frage. Was meinst du mit "verschluckt"? Gibt es eine Fehlermeldung? Welche?

Nach Änderungen an Formularen stürzt Base gerne ab, läßt sich aber wiederherstellen. Sicher ohne Datenverlust geht das nur bei einer gesplitteten Datenbank ab. Die interne HSQLDB, die man am Anfang meist anlegt, kann dabei zerschossen werden.

Beim Import von Tabellen kann es Fehler durch die Integritätsprüfung von Base geben. Wenn z. B. ein Primärschlüsselfeld definiert ist und ein Eintrag zweimal vorkommt, nimmt die Datenbank das natürlich nicht an. Oder wenn Beziehungen zwischen Tabellen bestehen, die bestimmte Inhalte in Fremdschlüsselfeldern vorschreiben.

40 000 Datensätze dürften für sich betrachtet nicht das Problem sein. HSQL kommt mit wesentlich größeren Tabellen zurecht.
Der Windows Defender ist ein Virenschutzprogramm. Was der damit zu tun haben könnte, weiß ich nicht.

Gruß
Freischreiber

Ergänzung: Die Komplexität der DB bestimmt sich vor allem nach ihrem maximalen Speicherbedarf. An die Grenzen von Tabellen, Zeilen und Spalten der Datenbank selbst wirst du im Anwendungsfall wohl nicht stoßen. Base-Formulare haben wohl eine relativ enge Begrenzung bei der Spaltenzahl, die DB selbst wohl nicht.
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von HansGerstenkorn » Mo 4. Sep 2017, 19:01

Hallo Freischreiber,

vielen Dank für die schnelle Info :-)

nein, eine Fehlermeldung bekomme ich in letzter Zeit nicht,
ja, aus Schaden wurde ich klug, ich kämpfe schon etwas länger mit diesem Phänomen und behelfe mir einfach damit, dass ich nach 5 Änderungen einfach jeweils eine Kopie der DB ziehe, dann ist nicht soviel im Schadensfall kaputt,
ja, die Wiederherstellung klappt meistens ohne Schaden :-)

trotzdem ist das unbefriedigend, irgendwie, mal sehen, ob das mit einem anderen Betriebssystem auch so ist, ich werde sicher bald mal meine HW ersetzen und dann kann ich natürlich auf den bisherigen Geräten auch mal ein anderes Betriebssystem probieren...

Viele Grüße
:-) Hans
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von HansGerstenkorn » Mo 11. Sep 2017, 23:48

Hallo Freischreiber,

ich möchte noch einmal die Zahl der Datensätze aufgreifen, insbesondere die einer Tabelle, denn ich glaube, dass es doch etwas damit zu tun hat. Ich habe eine kleine DB erstellt, in die ich zunächst Temperaturen importierte um sie später mit dem Stromverbrauch (andere DB = die sich "verschlcukt" in Beziehung zueinander auszuwerten.

Obwohl in der Temperatur-DB nur ein paar Tabellen, z.T. aber mit vielen Datensätzen sind, läuft die DB unheimlich (gefühlt!) langsam, es sind aber nur 5-8 Sekunden, putzigerweise auch beim Schliessen, auch wenn keine Änderungen gemacht werden, auch wenn man LO gleich zusammen mit der DB schliesst.

Vielleicht prüfst Du einmal die angehängte DB, wenn es bei Dir flutscht, weiß ich, es liegt an meiner HW, glaube ich aber nicht, da die andere DB sehr viel komplizierter und "mächtiger" ist.

Deshalb meine Frage nach der Belastung und Feststellung der Zahl der Datensätze.

Die Original-DB hatte ich wegen anderer Fragestellung fälschlicherweise hier schon hochgeladen: download/file.php?id=5725

Viele Grüße :-) Hans
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

Freischreiber
* LO-Experte *
Beiträge: 837
Registriert: Fr 28. Mär 2014, 10:41

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von Freischreiber » Di 12. Sep 2017, 09:21

Hallo Hans,

das dauert auch bei mir sehr lange, ein Absturz der DB war auch dabei.

Vermutlich sind 32.000 Datensätze für die interne DB schon zuviel.

Besser wird es vermutlich, wenn du die DB splittest, z. B. nach dieser Anleitung:
https://forum.openoffice.org/en/forum/v ... 80#p293026
(Schritte A bis E, dann Option 1)

Danach ist die DB stabiler und du kannst auch z. B. die Tabellen von cached auf memory stellen, sodaß sie komplett im Hauptspeicher sind. Das hat bei mir die DB merklich beschleunigt.

Aber: Deine DB sollte vorher so gut wie fertig sein, möglichst mit allen Tabellen und Beziehungen, die rein sollen. In einer gesplitteten DB kannst du viele Dinge nicht mehr über die GUI erledigen, sondern nur mit SQL-Befehlen.

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Freischreiber
* LO-Experte *
Beiträge: 837
Registriert: Fr 28. Mär 2014, 10:41

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von Freischreiber » Di 12. Sep 2017, 10:03

Hallo Hans,

probier mal diese Version hier:
https://www.file-upload.net/download-12 ... r.zip.html

Verzeichnis entzippen, im Verzeichnis die .odb-Datei starten, Makros erlauben.

Das ist zumindest stabiler, bei mir auch etwas schneller.

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von RobertG » Di 12. Sep 2017, 17:44

Hallo *,

ich kann keine Geschwindigkeitsprobleme bei der Datenbank von Hans feststellen. Die Tabellen öffnen sich bei mir in unter 1 Sekunde. Die mit den 32000 Datensätzen braucht knapp 5 Sekunden, um auf den letzten Datensatz zu scrollen.

Das kann nicht an der Hardware liegen (bei mir ein i3-3220 mit 4 GB) sondern ist irgendwo im System begraben (Zusammenspiel mit Java?). Meins hier: OpenSUSE 42.2 mit 2 verschiedenen Java-Versionen, die genutzte ist wohl 1.8.0_144.

Beim Schließen einer Datenbankdatei läuft unter LO seit der Version 3.6 automatisch der Befehl "SHUTDOWN COMPACT" ab, da es viele Leute gab, die wohl sehr viel vergessenen Müll in ihren Daten mitschleppten. Deswegen braucht das Schließen länger je größer die Datenbank ist.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Freischreiber
* LO-Experte *
Beiträge: 837
Registriert: Fr 28. Mär 2014, 10:41

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von Freischreiber » Di 12. Sep 2017, 18:37

Hallo Robert,

das sind beneidenswerte Zeiten. Ich habe einen Zweikerner mit 2,6 GHz und der braucht zum Erreichen des 32 000. Datensatzes 12 Sekunden, sogar bei der gesplitteten DB.

Ich frage mich immer schon, was es da zu rechnen gibt. Es wird wohl die Tabelle durch den Arbeitsspeicher bewegt. Aber das ist ja, verglichen mit Videobildern, wirklich nicht viel Information, die da bewegt wird.

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von HansGerstenkorn » Di 12. Sep 2017, 19:12

Hallo Robert, schön von Dir zu hören,

durch Deine tollen Zeiten verunsichert, habe ich gerade noch einmal einen Test durchgeführt, auf dem ThinkPad (s. Signatur) und auch auf einem PC (Win Pro 10; 10.0.15063; DELL VOSTRO; Core 2 DUO E6550 2,33 GHZ; 2331 MHZ) sind die Zeiten wie schon von mir beschrieben recht langsam... Erstaunlich beim PC, das Öffnen der Tabelle erfolgt beim PC < 1 Sek.. Es hat augenscheinlich doch etwas mit der HW zu tun, Mit welcher HW hast Du denn die DB getestet?

Viele Grüße :-) Hans
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: Wie kann ich die Zahl der Datensätze einer DB ermitteln?

Beitrag von HansGerstenkorn » Di 12. Sep 2017, 19:28

Hallo Robert,

kannst denn nicht auch etwas zu meiner Frage hinsichtlich Ermittlung der Datensätze sagen, oder wie kann man die Rennchnerbelastung durch eine Datenbank ansonsten beurteilen? Ich wollte das ganz simpel mal an der Datensatzzahl festmachen, denn beim Öffnen der Tabellen (ich habe die Tabelle AUSSEN auf ein paar Zeilen verkleinert und schon flutsch...) ergeben sich schon deutliche Unterschiede und bei den Tabellen kann ich das ja schön feststellen.

Viele Grüße :-) Hans
Tabellengroesse_1.jpg
Tabellengroesse_1.jpg (67 KiB) 5963 mal betrachtet
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten