Base: HSQLDB => Firebird

Hallo,

ich habe eine Datenbank (HSQLDB eingebettet) für meine Bücher und
anderes. Sie hat nur etwa 2000 Datensätze, trotzdem ist sie etwas träge,
z.B. bei der Suche über ein Formular.
Meine Frage: Arbeitet Firebird da schneller und wie kann ich von HSQLDB
auf Firebird umsteigen?

Viele Grüße

Thomas

Win 8.1 64 Bit, LO 4.4.3.2

Hallo Thomas,

Meine Frage: Arbeitet Firebird da schneller und wie kann ich von HSQLDB
auf Firebird umsteigen?

Ich würde persönlich davon abraten, es gibt bei Firebird zu viele
störenden Bugs :

https://bugs.documentfoundation.org//buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&bug_status=NEEDINFO&short_desc=firebird&short_desc_type=allwordssubstr&v2=firebird&v3=firebird&v4=firebird&v5=firebird&v6=firebird&v7="firebird"

Alex

Hallo,
ich würde MySQL bevorzugen, da es ebenso leicht zu installieren ist, aber auch
gleichzeitig leicht zu administrieren. Mit der MySQL-Workbench hast du
ausserdem ein wunderschönes Werkzeug für die Migration.

glg,
fred

Hallo Thomas,

Meine Frage: Arbeitet Firebird da schneller und wie kann ich von HSQLDB
auf Firebird umsteigen?

Ich würde persönlich davon abraten, es gibt bei Firebird zu viele störenden
Bugs :

https://bugs.documentfoundation.org//buglist.cgi?bug_status=UNCONFIRMED&bug_st

atus=NEW&bug_status=REOPENED&bug_status=NEEDINFO&short_desc=firebird&short_desc_
type=allwordssubstr&v2=firebird&v3=firebird&v4=firebird&v5=firebird&v6=firebird&
v7=%22firebird%22

Alex

- --

Hallo Thomas,

ich habe eine Datenbank (HSQLDB eingebettet) für meine Bücher und
anderes. Sie hat nur etwa 2000 Datensätze, trotzdem ist sie etwas
träge, z.B. bei der Suche über ein Formular. Meine Frage: Arbeitet
Firebird da schneller und wie kann ich von HSQLDB auf Firebird
umsteigen?

Die eingebaute Datenbank "Firebird" ist seit längerem nur über
"Experimentelle Funktionen" erreichbar. Sie hat noch zu viele Bugs.
Deswegen ist die Datenbank im Handbuch Base auch noch nicht weiter
beschrieben.

Bei 2000 Datensätze würde ich mir über die Art der Suche in einem
Formular Gedanken machen, statt die Trägheit der HSQLDB zuzuschieben.
Weder MySQL (wie ebenfalls in diesem Thread genannt) noch Firebird
arbeiten hier sichtbar schneller - der Flaschenhals liegt meist an der
Art der Anforderung der Daten durch das Formular. Wenn Du hier nur mit
den im Formular vorgesehenen Such- und Filterfunktionen arbeitest,
dann reizt Du die Datenbank nie annähernd aus. Siehe dazu auch die
entsprechenden Abschnitte des Handbuchs über "Formulare" und
"Datenbank-Aufgaben".

Gruß

Robert

Hallo,

erst mal allen vielen Dank für die Antworten.

Hallo Thomas,

> ich habe eine Datenbank (HSQLDB eingebettet) für meine Bücher und
> anderes. Sie hat nur etwa 2000 Datensätze, trotzdem ist sie etwas
> träge, z.B. bei der Suche über ein Formular. Meine Frage: Arbeitet
> Firebird da schneller und wie kann ich von HSQLDB auf Firebird
> umsteigen?

Die eingebaute Datenbank "Firebird" ist seit längerem nur über
"Experimentelle Funktionen" erreichbar. Sie hat noch zu viele Bugs.
Deswegen ist die Datenbank im Handbuch Base auch noch nicht weiter
beschrieben.

Bei 2000 Datensätze würde ich mir über die Art der Suche in einem
Formular Gedanken machen, statt die Trägheit der HSQLDB zuzuschieben.
Weder MySQL (wie ebenfalls in diesem Thread genannt) noch Firebird
arbeiten hier sichtbar schneller - der Flaschenhals liegt meist an der
Art der Anforderung der Daten durch das Formular. Wenn Du hier nur mit
den im Formular vorgesehenen Such- und Filterfunktionen arbeitest,
dann reizt Du die Datenbank nie annähernd aus. Siehe dazu auch die
entsprechenden Abschnitte des Handbuchs über "Formulare" und
"Datenbank-Aufgaben".

Das betrifft nicht nur "Anforderung der Daten durch das Formular". Wenn
ich die Grundtabelle, also die reine Tabelle ohne irgendwelche
Verknüpfungen, öffne, werden mir je nach Größe des Anzeigefensters die
ersten 70 oder 80 Datensätze angezeigt. Klicke ich jetzt auf das Symbol
für den letzten Datensatz, dauert es etwa fünf Sekunden, bis dieser
angezeigt wird.
Das nenne ich träge!
Am PC liegt es nicht. Ich habe mal diese Tabelle in eine ACCESS-DB
eingefügt (geht das wirklich nur über Kopieren/Einfügen, Exportieren
habe ich nicht gefunden?). Beim Öffnen wird praktisch sofort die
Gesamtzahl der Datensätze angezeigt und vom ersten zum letzten Datensatz
zu springen geht ohne Verzögerung.
In der Firma haben wir durchaus die 100fache Datenmenge oder mehr, da
möchte ich gar nicht an Base denken.

Gruß

Robert

Viele Grüße

Thomas

Hallo Thomas,

Das betrifft nicht nur "Anforderung der Daten durch das Formular".
Wenn ich die Grundtabelle, also die reine Tabelle ohne
irgendwelche Verknüpfungen, öffne, werden mir je nach Größe des
Anzeigefensters die ersten 70 oder 80 Datensätze angezeigt. Klicke
ich jetzt auf das Symbol für den letzten Datensatz, dauert es etwa
fünf Sekunden, bis dieser angezeigt wird. Das nenne ich träge!

Es gibt mit Sicherheit noch jede Menge Geschwindigkeitsprobleme mit Base.
Zu der Anzeige: Die Daten werden in den Cache eingelesen. Es wird
durch ein '*' darauf hingewiesen, dass es sich nicht um die endgültige
Zahl der Datensätze handelt.
Zu der Zeit, um zum letzten Datensatz zu springen: Die interne HSQLDB
hatte einige Zeit ein Geschwindigkeitsproblem zusammen mit bestimmten
Java Laufzeitumgebungen. Mittlerweile ist so weit behoben, dass ich
gerade eben bei einem Test mit einer aktuellen LO-Version in 4
Sekunden bei einer Tabelle mit 15 Spalten und 30849 Datensätzen zum
letzten Datensatz springen konnte.

Am PC liegt es nicht. Ich habe mal diese Tabelle in eine ACCESS-DB
eingefügt (geht das wirklich nur über Kopieren/Einfügen,
Exportieren habe ich nicht gefunden?).

In welches Format soll denn die HSQLDB exportiert werden? Du musst
beim Wechsel des Datenbanksystems auf jeden Fall die Tabellen neu
definieren und entsprechend verknüpfen. Auch der Export z.B. einer
MySQL-Datenbank erzeugt nie eine entsprechend nutzbare Tabelle für ein
anderes Datenbanksystem.

Die einfachste Möglichkeit, Daten von einem System in ein anderes zu
befördern, ist, beide Datenbanken in Base anzumelden und dann über
Kopieren und Einfügen zu arbeiten.

Beim Öffnen wird praktisch sofort die Gesamtzahl der Datensätze
angezeigt und vom ersten zum letzten Datensatz zu springen geht
ohne Verzögerung. In der Firma haben wir durchaus die 100fache
Datenmenge oder mehr, da möchte ich gar nicht an Base denken.

Wenn Du von der Nutzung in einer Firma sprichst: Da würde ich mich
doch nicht mit einer internen Base-Datenbank befassen. Eine Datenbank
im Firmenumfeld muss von unterschiedlichen Arbeitsplätzen aus
zugänglich sein und tunlichst Daten nicht in einem gepackten
Verzeichnis aufbewahren, in dem gleichzeitig auch Formulare, Abfragen
und Berichte liegen. Base kannst Du dort für die Formulare, Abfragen
und Berichte nutzen. Als Datenbank muss eine Serverdatenbank her.

Gruß

Robert