PDA

Vollständige Version anzeigen : Performance im Netz


Hütti
03.01.2002, 11:00
hallo....

eine allgemeine frage zur funktionsweise von access....

stimmt es, das access in netzwerken nach folgendem schema funktioniert????:

Fall: Backend mit A00 im Netz, Frontend auf lokalem Client.
Wenn eine Abfrage auf dem Client gestartet wird schaufelt angeblich A00 ALLE DAten erst auf den Client, dann erst wird die abfrage ausgeführt. dieser umstand belastet natürlich das netzwerk.

frage:
a) stimmt das so
b) wie kann ich das umgehen

danke für die info

Sascha Trowitzsch
03.01.2002, 11:26
Hi Hütti,

a) Das stimmt nicht so. Es werden nur die Daten der Tabellen, die der Abfrage zugrundeliegen, rübergeschaufelt. Außerdem hat Access (bzw. DAO) einen Cache, der nicht bei jeder Aktualisierung der Daten gleich mit dem Backend synchronisiert, sondern in (einstellbaren) Zeitabständen. D.h. es können sich DS-Änderungen kumulieren, bevor die Daten wieder ins Backend geschrieben werden.
Wird die gleiche Abfrage kurz hintereinander nochmals ausgeführt, so wird ebenfalls (wegen des Cache) nicht unbedingt zweimal auf das Backend zugegriffen.
Was genau und in welcher Reihenfolge abläuft ist schon eine komplizierte Angelegenheit, weil es von verschiedenen einstellbaren Optionen abhängt. (Siehe auch OL_Hilfe zu SetOption).

b) entfällt damit.

Ciao, Sascha

Hütti
03.01.2002, 12:34
ok, das nicht die ganze db kopiert wird ist klar. wenn der abfrage aber 2 tabellen mit 150000 ds zugrundeliegen, wandern die über mein netzwerk....
wenn dem so ist, ist dann access das falsche proggi für große datenmengen im netzwerk, oder sollte man das system anders konfigurieren? access ist ja eigentlich keine server-db....

Sascha Trowitzsch
03.01.2002, 13:08
Es hängt nicht von der Zahl der Datensätze ab.
150000 Datensätze einer Tabelle, die nur zwei Felder vom Typ Integer enthält, sind absolut nicht zuviel. Wenn es natürlich umfangreiche Adressdatensätze sind, dann wird das wohl schon zuviel.
Man kann da keine algemeine Empfehlung geben, da es zu stark vom einzelnen Fall abhängt.
(Wie schnell ist das Netz, wie stark belastet; wie groß ist der Fileserver; auf welche Tabellen wird häufig zugegriffen und wie groß sind die; wieviel Abfragen laufen; ....)

Also, so als Richtgröße würde ich sagen, eine ordentlich strukturierte DB darf so im Schnitt 80 MB groß sein, danach wirds unangenehm.

Es ist aber überhaupt keine Frage: Große Datenbanken sind nix für Access. Dazu gibt's schließlich SQL_Server.

Ciao, Sascha

Hütti
03.01.2002, 14:18
ab 80 mb..... wir haben 7 dbs mit 400-700mb je db. und mit denen wird täglich gearbeitet.

das thema sql-server hatten wir auch schon mehrfach, allerdings will die dv das z.z. nicht. allerdings jammern die über netzwerkprobleme.
läuft das denn anders, wenn ich mit dem server im hintergrund arbeite?
access habe ich weiterhin als frontend. ich meine damit jetzt nicht nur einfache auswahlabfragen, sondern auch funktionen in vb usw..
übergibt access dann die abfragen, oder schaufelt er auch hier die klamotten erst in die lokale db?

viele fragen.....

maba
03.01.2002, 15:41
hy Hütti

du kannst unter A00 eine DatenBankprojekt starten. welches dann einen SQL-Server als Backend hat.

Die Vb-Scripts bleiben dann im Frontend.

Tip: Du solltest so viel wie möglich Wissen oder Aktionen auf dem SQL-Server lassen
Sprich: alle Abfragen oder Aktionen vom SQL-Server ausführen lassen weil du sonst wiedere an Performance verlierst.
<img src="graemlins/heilig.gif" border="0" alt="[Heiligenschein]" />

Sascha Trowitzsch
03.01.2002, 16:09
Wenn du die DBs auf SQ-Server portieren willst, dann wird ein völlig neues Design notwendig. Es reicht nícht aus, nur einfach die Tabellen auf den Server zu legen und zu verknüpfen. Dann bleibt das Problem der Übertragungsraten weitgehend das gleiche. (Bis auf einige wenige Fälle, wo Access einfachere Abfragen tatsächlich automatisch als SQL_String an den Server schickt.)

Wenn die DV aber eh keinen SQL-Server haben will (warum bloß immer dieses Problem mit denen, ich kenn es ?), dann schlag ihnen doch vor, ein Giga-Ethernet-Netz zu installieren, wenn die Performance einbricht. Mal sehen, was billiger kommt.

So long, Sascha