Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: lukyluke68 am Januar 10, 2014, 10:28:30

Titel: Geschwindigkeit der Datenbank im Netzwerk
Beitrag von: lukyluke68 am Januar 10, 2014, 10:28:30
Hallo,

vielleicht hat jemand ähnliches schon mal gehabt und weis einen Rat?
Ich habe mein BE bei uns auf einem für alle öffentlichen Ordner im Netzwerk liegen. Das FE liegt bei jedem lokal auf dem Rechner.
Die Datenbank funktioniert in der nun angelaufenen Testphase soweit gut. Die Dateneingabe usw. funktioniert von allen.
Nur fällt mir auf dass sich die Datenbank schwerfällig verhält.
Kann es hier auch ein Grund sein, da das BE in einem Ordner liegt, der erst an siebter Stelle nach dem Laufwerk kommt. Könnte hier die Pfadlänge daran Schuld sein, das die Datenbank verlangsamt arbeitet? Oder zeigt sich hier die Geschwindigkeit des Firmennetzwerkes?
Titel: Re: Geschwindigkeit der Datenbank im Netzwerk
Beitrag von: Hondo am Januar 10, 2014, 11:01:09
Hallo,
die Position in welcher Verzeichnistiefe das Backend kann eine erhebliche Rolle spielen.
Im Access Weekly Newsletter vom 14.1.2011 wird zusammengefasst folgendes geschrieben:
ZitatDie Speicherung der Backend-Datenbankdatei auf einem Netzwerklaufwerk kann zu erheblichen Geschwindigkeitsverlusten führen. Lesen Sie in diesem Tipp der Woche, warum das so ist und wie Sie Abhilfe schaffen können.

Bei einer Frontend/Backend-Lösung ist das Backend in einem Netzwerkverzeichnis zum Beispiel unter "\\Servername\ Access\ Daten\ Adressverwaltung\ Adressverwaltung.mdb/.accdb" oder über ein Laufwerksmapping unter "Z:\ Access\ Daten\ Adressverwaltung\ Backend Adressverwaltung.mdb/.accdb" gespeichert. Das führt dazu, dass der Server bei jedem Zugriff ausgehend vom Basisverzeichnis oder Laufwerksbuchstaben jedes einzelne Unterverzeichnis daraufhin prüfen muss, ob die notwendigen Zugriffsrechte vorliegen oder vom übergeordneten Verzeichnis vererbt werden. Je tiefer die Verzeichnisse verschachtelt sind, desto aufwändiger ist die Prüfung der Zugriffsrechte. Das macht sich insbesondere bei SQL-Anweisungen bemerkbar, die Sie zum Beispiel einem Formular, einer Liste oder einem Kombinationsfeld als Datenbasis in "Datenherkunft" bzw. "Datensatzherkunft" zugeordnet haben.

Um einen möglichst schnellen Zugriff auf das Backend zu gewährleisten, empfiehlt es sich, das Backend entweder direkt im Wurzelverzeichnis (Root) auf dem jeweiligen Laufwerk abzulegen und über einen Laufwerksbuchstaben zu mappen, so dass sich ein Pfad wie "Z:\ Backend Adressverwaltung.mdb/.accdb" ergibt oder das Verzeichnis, in dem das Backend gespeichert ist, direkt als Freigabe einzurichten...

Ansonsten gibts zig Punkte wie man ein Backendzugriff optimieren kann.
Siehe z.B. hier: http://dbwiki.net/wiki/Access_Performance-Tipps

Gruß Andreas