PDA

Vollständige Version anzeigen : Abfragen laufen sehr langsam


Gudula
27.10.2011, 12:24
Hi

ich habe Acc 2010 auf einem Windows 7 Laptop 32 Bit laufen. Allerdings wenn ich eine Abfrage direkt aus dem Programm ausführen will (F 11) oder auch mir die Daten einer Tabelle anzeigen möchte, zickt das Programm rum. Manchmal werden die Daten schnell dargestellt, dann wieder kommt "keine Rückmeldung" und ich muss Access schließen. Es stürzt regelrecht ab :upps:

Ich arbeite auch mit SQL Server 2008 express und habe eine Instanz auf dem Laptop. Hier habe ich schon lange das gleiche Problem. Sobald ich über SQL Server management Studio eine View ausgeben will, dauert es endlos lang und oder er gibt direkt an "keine Rückmeldung".

Ich habe bereits im SQL-Server Forum angefragt, aber da konnte man mir nicht weiterhelfen. Und jetzt das gleiche mit Access.

Hat jemand eine Idee, woran das liegen könnte? Auf dem alten XP Rechner läuft das alles ohne Probleme.

Atrus2711
27.10.2011, 12:38
Hi,
"Keine Rückmeldung" heißt nicht, dass Access abgestürzt wäre. Der PC ist nur so beschäftigt, dass für die Bildschirmaktualisierung keine Ressourcen mehr frei sind.

Hast du mal nach Performancekillern in der Anwendung gesucht (http://donkarl.com/Downloads/AEK/AEK8_Abfragen_Performance.zip)?

Lanz Rudolf
27.10.2011, 16:35
Hallo
@Martin ich komme leider nicht auf den von Dir angegebenen Link ! :(

@Gudula
etwas zu Performanc verbeserung findest Du auch Hier
http://dl.dropbox.com/u/46590638/ACC/ACCESS%202000BU%20%20Begleitunterlage.pdf
auf seite: 58 (5.2 Performance Verbesserung) bis Seite 66
Seite 47 (5.1.1 Indizes (Indexe)) .. nicht Vergessen :)

ebs17
27.10.2011, 16:47
@Ruedi: Lasse mal die letzten zwei Zeichen des Links entfallen, dann wird Dir die Quelle (donkarl/AEK-Downloadbereich/Performance in Abfragen) hoffentlich nicht unbekannt sein.

Gudula
27.10.2011, 21:10
Hallo

erstmal Danke für den Link.

Aber ich glaube nicht, dass es an der Performance liegt.
Ein einfacher Select auf eine Tabelle mit ein paar Datensätzen überfordert das Programm schon.

Beispiel:
Ich lade die Applikation und starte das Formular (die Tabellen liegen in einer separaten Datei) und klicke F11, dann öffnet sich auf der linken Seite die Auswahl der Abfragen, Tabellen, Makros etc. Doppelklicke ich auf eine ganz einfache Tabelle mit 10 Spalten und 155 Datensätze, kann er die nicht laden, er arbeitet und arbeitet und arbeitet. Letztendlich muss ich das Programm abbrechen und neu starten. Es hat auch keine Zweck zu warten.

Der SQL Server hingegen stellt mir nach einer geraumen Zeit die Daten dar, aber das macht Access nicht.

Ich weiß auch nicht, womit der beschäftigt ist. Es sind keine weiteren Programme offen, CPU-Leistung liegt bei 1%. Und auf dem XP-Rechner hatte ich nie Probleme. Auch den Kaspersky hatte ich in Verdacht, aber auch von dort aus wird das Programm nicht kontrolliert. Das Problem ist, ich kann so mit Access nicht arbeiten, ich muss mir ab und zu auch mal die Daten einer Tabelle ausgeben lassen oder auch einer Abfrage.

Nicht falsch verstehen, die VBA-Applikation lauft eigentlich sogar sehr schnell.

ebs17
27.10.2011, 21:45
Das kennst Du: Acc2010 - Schlechte Performance unter Win 7 (http://www.ms-office-forum.net/forum/showthread.php?t=283260)

Gudula
28.10.2011, 10:00
Morgen,

vielen Dank für den Link. Hab den Hotfix jetzt mal installiert. Leider hat es am Problem nichts geändert.

Ich bin aber der Sache schon etwas mehr auf der Spur.
Die Front- und Backend werden demnächst auf einem Datenrechner liegen. Die Clients starten die Applikation dann von einem Netzlaufwerk (w:\). Die Systemumstellung von Win XP, Off 2003 auf Win 7, Off 2010 ist für Anfang nächsten Jahres in unserer Firma (1 Datenrechner, 4 Clients) geplant. Bis dahin muss ich alle VBA Applikationen (Access und Word) auf den aktuellen Stand gebracht haben. Deshalb habe ich mir dieses Netzlaufwerk (w:\) auch angelegt, um es in der entsprechenden Entwicklungsumgebung testen zu können.

Jetzt habe ich die Applikation mal unter C: laufen und es ist um vieles besser, also mit dieser Umgebung könnte ich arbeiten.

Ich habe jetzt nicht sehr viel Ahnung von Netzwerktechnik, aber ich bin mir fast sicher, dass der Hund jetzt dort begraben ist. :eek:

Was allerdings nicht die Langsamkeit des SQL servers erklärt, der liegt nämlich ganz normal auf C.

Atrus2711
28.10.2011, 10:22
Hi,

wenn Access lokal schneller läuft als via Netz, könnte das Netz der Engpass sein. Ist es langsam und/oder gut ausgelastet? Hab doch mal den Netzwerkmonitor im Taskmanager im Blick, während Access wieder mal so lange "arbeitet". Vielleicht liegt auch ein Konkurrenzkampf vor, wenn noch jemand das Backend aufhat.

Dass der SQL-Server lokal langsam ist, muss andere Ursachen haben:

fehlende/ungünstige Indizes
ungünstiger Abfrageplan (einfach mal ausgeben lassen)

Lanz Rudolf
28.10.2011, 10:50
Hallo
Frage (wiss nicht ob ich Dich richtig Verstanden habe)
Du hast So getestet ?

FE Lockal z.B. C:\xxx
BE Netz z.B. w:\xx

FE sollte Lokal sein un BE im Netz

Hast Du LOCKAL das schon Versuch durchzuführen: (Lokal = Drive C: , D: .........)
das alles ist generel (nicht nur für Access)für die Geschwindikeit (Performance) wichtig :

• Auch das Regelmässige Defragmentierern (mit welchem Tool auch immer) der Disk’s des FE und des
BE, so wie ein CHKDSK der Disk’s kann etwas zur Performance verbesserun und zur Stabilität
beitragen, und sollte von Zeit zu Zeit durchgeführt werden z.B. nach der Instalation einer neuer
Versionen, in Anti Vieren Programme wie z.B. Windows Live One Care kann man das periodisch
wählen.
• noch besser als nur Defragmentieren ist der Einsatz von Paragon-Partition-Manager
hier gibt es glaube ich eine 60 Tage Version Gratis http://paragon-partition-manager.softonic.de/
auch hier FE und BE (evtl. auf dem Server) Disk behandeln
• übrigens auch der Piriform-Defraggler bringt auch schon etwas mehr als das gewöhndliche Defrag
(gratis unter http://www.freeware-download.com/tags/piriform.html)
es giet auch ein Defrag von Ashampoo welche gut Defragmentiert !

das ist aus meiner Doc unter "Performanc verbeserung"

und Auch Das :
Was auch etwas zur Performance Verbesserung beitragen kann
• Im Zusamenhang mit Performance ist auch sehr Wichtig Kurze Pfad-namen und nicht Zuviel zu Tief
verschachtelt, das gilt für das FE aber insbesonder für das BE.
z.B. D:\Aproj (hier FE-MDE evtl .ini Starter.Bat oder Starter.MDE evtl.benötigte .dll’s)
\Daten (hier BE DatenMDB wenn sie nicht auf einem Server ist etwa Y:\Aproj)
\Picture (hier benötigte Grafiken, Bilder und .Ico’s)
\Source (hier die Quellen MDB’s)
\Backup (hier Sicherstellungen von FE und evtl. BE)
………
Und auch der Name des BE sollte möglichs kurz sein z.B. ProjBE.mdb
Der FE-name und der BE-Name sollte ohne .mdb od. .mde nicht länger als 8 Zeichen Sein !Was ich auch für Pfad und Sub-Pfade immer öffters so mach wenn möglich auch auf den Server
Alle Pfad-Namen ico, Bilder und ini Dateien auch nicht länger als 8 ZeichenDiese 8 Zeichen Regel und möglichst kurze Pfad-namen nicht zu tief verschachtelt
besteht natürlich auch für die MDW!
Im weiteren Keine Leerstellen Sonderzeichen (äöü-$£! etc.) in Pfad- und Datei- Namen
Bspl. eins BE- Pfad: X:\P1Max8ZL\P2Max8ZL\ ProjBE.mdb oder
\\NetDrv\P1\P2\ ProjBE.mdb

Gudula
28.10.2011, 19:45
Hi all,

erstmal vielen Dank für die Tipps, Tricks und Links. Ich werde mir jetzt alles nochmal in Ruhe durchlesen.

Die Datenbank-Applikation ist jetzt mehr als 10 Jahre alt. Ich "betreue" sie seit 4 Jahren für unsere Firma. Sie ist damals richtig gut und verständlich programmiert worden und läuft auch ohne Probleme, auch performance-technisch. Gut, es sind so einige Dinge, die ich dringend ändern muss, unter anderem auch die Installation des Frontends auf jedem Client. Es sind ja nur 4 und mögliche Änderungen lassen sich schnell erledigen. Ich habe das jetzt mal so mal in meiner eigenen Entwicklungsumgebung getrennt (FE auf C und BE auf Netzlaufwerk) und die Tabellen und Abfragen stellen sich jetzt gut da. Bin ich froh.;)

Jetzt kommt das Menüband und das ist richtig Neuland für mich und spannend. Mal schaun. :cool:

Gudula
28.10.2011, 20:24
wenn Access lokal schneller läuft als via Netz, könnte das Netz der Engpass sein. Ist es langsam und/oder gut ausgelastet? Hab doch mal den Netzwerkmonitor im Taskmanager im Blick, während Access wieder mal so lange "arbeitet". Vielleicht liegt auch ein Konkurrenzkampf vor, wenn noch jemand das Backend aufhat.

Also das Netz ist ja nur virtuell auf meinem eigenen Rechner und da greife nur ich zu. Es war kein weiteres Programm geöffnet und auch die Auslastung war niedrig. Ich habe immer noch etwas den Kasperky im Kopf, der arbeitet nämlich heftig (avp.exe), wenn eine Tabelle läd. Ich habe auch schon in den Einstellungen gesucht, woran es liegen könnte. Ich frag auch mal dort im Forum.


Dass der SQL-Server lokal langsam ist, muss andere Ursachen haben:

fehlende/ungünstige Indizes
ungünstiger Abfrageplan (einfach mal ausgeben lassen)


Also die Indizes habe ich, meine ich, recht gut gesetzt, auch die Abfragen sind, meiner Meinung nach, gut konzipiert. Den SQL-Server brauche ich für die Webanwendungen und auf unserem Online-Server (Windows Server 2008 läuft das alles blitzschnell). Das Problem habe ich erst seit ich den Laptop mit Windows 7 habe. Hab auch schon eine neue Instanz installiert, brachte aber keine Änderung. Aber hiermit kann ich leben. Ich nutze für meine Programmierungen den Visual Web Developer 2010 und dort ist auch ein Datenbankmodul integriert. Hier laufen die Abfragen und Ausgaben der Tabellen sehr schnell.

Lanz Rudolf
28.10.2011, 21:11
Hallo
also "Kasperky" habe ich genau aus diesem Grund (Performence Probelemen) bei mir raus geworfen ;)

ich arbeite seit da wieder mit Spayware Doctor