Thomas Raasch
2008-12-08 13:20:54 UTC
Hallo NG,
ich habe eine vermutlich veraltete Frage...
wir bauen Access-Progrämmchen für die Auftragsbearbeitung. Die Programme
sind bei manchen Kunden nun seit einigen Jahren im Einsatz. Das Format der
Access-Anwendung (FE) ist AccXP. Die reine Datenbank (BE) liegt ebenfalls
als AccXP vor. Die DB liegt idR. in einer Freigabe auf nem Windows-Server.
Das Netz ist zumeist nen 100MBit LAN.
Es häufen sich nun leider die Beschwerden, dass die Anwendung immer
langsamer und langsamer wird. Habe daraufhin getestet:
das Öffnen eines Formulars (Inhalt: Aufträge) dauert schonmal gerne 30s. Die
DB hat 150 MB und die angesprochene Tabelle hat ca. 60.000 Datensätze. Laut
System-Überwachungs-Tools holt sich Access bei Formularstart die komplette
Tabelle mit allen 60.000 Datensätzen, wertet danach lokal am Client den
FilterBy und OrderBy aus und zeigt das Ergebnis an.
Das Ordern und Filtern geht dabei in Sekundenschnelle - aber das Übertragen
der Tabelle durchs LAN dauert....
OK, das ist mit Access evtl. nicht anders machbar - dazu gibts ja dann den
SQL-Server. Gut... aber ich habe etwas rumprobiert und folgendes
festgestellt:
Wenn ich nur in dieser einen Tabelle (Aufträge) bei allen Text-Feldern die
Option "Unicode-Komprimierung" aktiviere und die DB komprimiere verliert sie
über 5 MB Dateigröße. Das Starten des Formulars sinkt herab von 29s auf 22s.
Schomal gut aber noch immer zu langsam.
Wenn ich aber die DB - also nur das BackEnd - im Access97-Format speichere
dann sinkt die DB-Größe um 40 MB! Der Start des Formulars sinkt hierbei von
29s auf 18s! Das ist doch schon viel besser...
Die Tabellen sind gut strukturiert und normalisiert. Als DS-Herkunft für das
Form hängt nur die Tabelle dran - keine komplexe Abfrage. Als Datentypen der
Tabellenfelder sind bereits immer die kleinst-möglichen gewählt.
Meine Frage nun:
Kann ich einfach das BackEnd (also nur die Datenbank) in Acc97 konvertieren
und weiterhin mit dem AccXP FrontEnd darauf arbeiten? Meine Tests sind
soweit positiv verlaufen.
Welche Überraschungen erwarten mich?
Welche Vorteile bringt das größere (und damit langsamere) AccXP-Format? Habe
was von Unicode gelesen... braucht man das? Ich möchte weder russische noch
chinesische Zeichen speichern :)
Falls eine Umstellung der Datenbank auf Acc97 nicht empfohlen ist: was hat
es mit der Unicode-Komprimierung bei AccXP auf sich? Warum ist diese per
default nicht aktiviert? Welche Nachteile gibt es hier?
Gibt es sonst noch "normale" Performance-Tipps? Als "normal" empfinde ich
vermutlich alles außer "nimm den SQL-Server" oder "steige um auf ungebundene
Formulare".
Vielen vielen Dank
und Grüße
Thomas
ich habe eine vermutlich veraltete Frage...
wir bauen Access-Progrämmchen für die Auftragsbearbeitung. Die Programme
sind bei manchen Kunden nun seit einigen Jahren im Einsatz. Das Format der
Access-Anwendung (FE) ist AccXP. Die reine Datenbank (BE) liegt ebenfalls
als AccXP vor. Die DB liegt idR. in einer Freigabe auf nem Windows-Server.
Das Netz ist zumeist nen 100MBit LAN.
Es häufen sich nun leider die Beschwerden, dass die Anwendung immer
langsamer und langsamer wird. Habe daraufhin getestet:
das Öffnen eines Formulars (Inhalt: Aufträge) dauert schonmal gerne 30s. Die
DB hat 150 MB und die angesprochene Tabelle hat ca. 60.000 Datensätze. Laut
System-Überwachungs-Tools holt sich Access bei Formularstart die komplette
Tabelle mit allen 60.000 Datensätzen, wertet danach lokal am Client den
FilterBy und OrderBy aus und zeigt das Ergebnis an.
Das Ordern und Filtern geht dabei in Sekundenschnelle - aber das Übertragen
der Tabelle durchs LAN dauert....
OK, das ist mit Access evtl. nicht anders machbar - dazu gibts ja dann den
SQL-Server. Gut... aber ich habe etwas rumprobiert und folgendes
festgestellt:
Wenn ich nur in dieser einen Tabelle (Aufträge) bei allen Text-Feldern die
Option "Unicode-Komprimierung" aktiviere und die DB komprimiere verliert sie
über 5 MB Dateigröße. Das Starten des Formulars sinkt herab von 29s auf 22s.
Schomal gut aber noch immer zu langsam.
Wenn ich aber die DB - also nur das BackEnd - im Access97-Format speichere
dann sinkt die DB-Größe um 40 MB! Der Start des Formulars sinkt hierbei von
29s auf 18s! Das ist doch schon viel besser...
Die Tabellen sind gut strukturiert und normalisiert. Als DS-Herkunft für das
Form hängt nur die Tabelle dran - keine komplexe Abfrage. Als Datentypen der
Tabellenfelder sind bereits immer die kleinst-möglichen gewählt.
Meine Frage nun:
Kann ich einfach das BackEnd (also nur die Datenbank) in Acc97 konvertieren
und weiterhin mit dem AccXP FrontEnd darauf arbeiten? Meine Tests sind
soweit positiv verlaufen.
Welche Überraschungen erwarten mich?
Welche Vorteile bringt das größere (und damit langsamere) AccXP-Format? Habe
was von Unicode gelesen... braucht man das? Ich möchte weder russische noch
chinesische Zeichen speichern :)
Falls eine Umstellung der Datenbank auf Acc97 nicht empfohlen ist: was hat
es mit der Unicode-Komprimierung bei AccXP auf sich? Warum ist diese per
default nicht aktiviert? Welche Nachteile gibt es hier?
Gibt es sonst noch "normale" Performance-Tipps? Als "normal" empfinde ich
vermutlich alles außer "nimm den SQL-Server" oder "steige um auf ungebundene
Formulare".
Vielen vielen Dank
und Grüße
Thomas