Hallo Jochen,

Am 26.12.2011 22:49, schrieb Jochen:
> Hallo *,
> 
> ich habe eine Frage zur Performance bei einer Berichterstellung in Base 
> auf einer Windows-Platform (windows XP u./o. Windows 7).
> Robert und ich diskutieren gerade, welche Methode den geringsten 
> Geschwindigkeitsverlust hat.
> Robert vertritt die These, dass der geringste Geschwindigkeitsverlust 
> bei der Verwendung einer Ansicht unter "Tabellen" auftritt, da die Daten 
> aus dem Cache geholt werden.
> Im Gegensatz dazu tritt bei Verwendung einer Abfrage oder bei Verwendung 
> eines SQL-Befehls innerhalb des Berichtes ein gewisser 
> Geschwindigkeitsverlust auf.
> Kann/will noch jemand dazu etwas sagen bzw. eine Bestätigung wäre auch 
> nicht schlecht.
> Die "Wahrheit" wird dann im Base-Handbuch "verewigt".

Die "Wahrheit" ist - es gibt sie nicht ;-) - oder anders ausgedruckt:
"es kommt darauf an..."

Richtig ist: Meist kann man die Performance steigern bei der Verwendung
von "Views" - also Ansichten. Dies gilt allerdings typischerweise nur
für "echte" Datenbankengines wie also MySQL, PostgreSQL oder Oracle DBs.
Der Grund dann ist einfach: In dem Fall übernehmen die DB-Engins die
Rechenarbeit auf dem Server - und stellen nur das Ergebnis zur
Verfügung. Und das ist in der Regel deutlich performer als per
SQL-Befehl und Skriptaufarbeitung im Client.

Bei der eingebauten HSQLDB verhält es sich natürlich ähnlich, doch ist
dort der Geschwindigkeitsunterschied so gering, dass Ihr ihn gerne
vernachlässigen könnt. Da in dem Fall alle Daten in der Datei stehen und
zunächst in den Arbeitsspeicher eingelesen werden, aus diesen dann
(kleine) Resultsets gebildet werden und nur auf Anfrage komplette
Ergebnislisten, liegen die Engpässe ganz wo anders.
Und wenn Du mal 4000 und mehr DS in der eingebauten HSQLDB drin hast,
dann merkst Du deutlich den Unterschied zu einer "echten" DB ;-)

Für Euer Handbuch: Schreibt salomonisch: Theoretisch ist ein View immer
die bessere Lösung (auch im Hibnblick auf andere DB), für den typischen
Einsatz von Base (mit der eingebauten HSQLDB) jedoch reicht jedoch auch
ein SQL-Befehl für den Bericht vollkommen aus.

Viele Grüße
Thomas


-- 
## Unterstützung der freien Office Suite
## http://de.libreOffice.org  - www.LibreOffice.org
## Vorstand Freies Office Deutschland e.V.
## Mitglieder willkommen: www.FroDeV.org

-- 
Informationen zum Abmelden: E-Mail an [email protected]
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an