Geschwindigkeitsprobleme beim Datenbankzugriff unter Windows 7

30/07/2011 - 13:52 von Detlef Jäger | Report spam
Ich bin kürzlich auf ein Geschwindigkeitsproblem beim Datenbankzugriff
auf àltere Access-Datenbanken unter Windows 7 gestoßen, das ich gerne
einmal nàher beschreiben will.
Wir haben das Problem zwar indirekt durch eine „Umstrukturierung“ der
Datenbank gelöst, dennoch würden mich die nàheren Gründe
interessieren.

Wenn möglich, bitte ich nicht die von uns verwendete Datenbankversion,
die Zugriffsart oder unser Datenbankdesign zu kritisieren. Das ist
alles bekannt, soll aber nicht vom eigentlichen Problem ablenken.

Die Problematik ist etwas komplexer, làsst sich aber eindeutig
reproduzieren.

Problembeschreibung:
Wir verwenden noch eine Access-Datenbank im 97er-Format. Der Zugriff
erfolgt per DAO3.5.
Bei wenigen Kunden mit Windows 7 (gleich ob 32- oder 64-bit) haben wir
nun ein sporadisches bis permanentes Geschwindigkeitsproblem bei
Zugriffen auf bestimmten Tabellen festgestellt.
Mal dauert der Zugriff wie gewohnt nur 1 bis 2 Sekunden, dann aber
wieder bis zu mehrerer Minuten! Mit der gleichen Datenbank unter
Windows XP gibt es keinerlei Probleme. Unter Windows Vista sind uns
diese Probleme auch nicht bekannt.
Der Zugriff per ADO löste das Problem übrigens auch nicht – im
Gegenteil, die Zugriffe benötigten noch mehr Zeit. Auch direkt in MS
Access 97 besteht dieses Problem.
Die Probleme potenzieren sich offensichtlich, je mehr Datensàtze die
Tabelle enthàlt (in unserem Beispiel waren es rund 8.000 Datensàtze).

Wir haben dann herausgefunden, dass diese Performance-Probleme nur
dann auftreten, wenn die Datenbank repliziert wurde. In der Folge
haben wir dann ausgemacht, dass es eindeutig mit der Anzahl der Felder
in der Tabelle zusammenhàngt.
In besagter Tabelle hatten wir über 200 Felder (ja, hauptsàchlich aus
Bequemlichkeit) - durch die Replikation dann entsprechend noch ein
paar mehr. Irgendwo gibt es wohl eine Grenze, die sich dann dramatisch
unter Windows 7 auf die Zugriffsgeschwindigkeit auswirkt, sofern man
in der SQL-Anweisung ein „order by“ verwendet.

Befreit man die Datenbank von den Replikationsfeldern, so ist wieder
alles gewohnt schnell.
Wir haben dann einige Felder ausgelagert, so dass nur noch knapp 140
Felder in der Tabelle vorhanden sind. Anschließend gibt es auch mit
der Replikation nicht diese enormen Performance-Probleme.

Was könnte unter Windows 7 bezüglich des Datenbankzugriffs anders
sein, dass derartige Geschwindigkeitseinbrüche verursacht werden?
 

Lesen sie die antworten

#1 Detlef Jäger
11/08/2011 - 20:20 | Warnen spam
Offensichtlich haben auch andere die Problematik mit Access-
Datenbanken unter Windows 7. Das Problem ist mittlerweile auch bei
Microsoft bekannt und es gibt wohl auch einen inoffiziellen hotfix:
http://www.utteraccess.com/forum/Sl...68457.html

Microsoft will allerdings nur einen entsprechenden hotfix für Access
2010 (ACE 14.0) bereitstellen. Für Jet 4.0 oder Jet 3.5 wird es keinen
Patch geben!

Ich bin mal wieder enorm frustriert!

Ähnliche fragen