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
