🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: ch.comp.os.linux
Article #24776

Re: Eure Ideen gefragt: Access Datenbank beschleunigen (mit Linux versteht sich)

#24776
From: Matthias Leisi
Date: Tue, 12 Jan 1999 00:00
83 lines
4323 bytes

Pascal Eugster schrieb:
> 
> Frank-Christian Kruegel wrote:
> >
> > On 10 Jan 1999 16:59:14 GMT, "Pascal Eugster" <eugster4@centralnet.ch> wrote:
> >
> > >[Access-DB auf Samba-Server beschleunigen]
> >
> > [mysql und der passende ODBC-Treiber]
> 
> [Geschwindigkeit, Ausfuehrung von Queries auf Client oder Server]

Im Prinzip werden bei einer _echten_ Client/Server-Anwendung die
Abfragen auf dem Server ausgefuehrt; das ist auch der Fall, wenn Access
auf eine SQL-Server-DB (egal welchen Herstellers) zugreift. 

Allerdings muss man bei der Konstruktion der Queries hoellisch
aufpassen, dass die Queries auch tatsaechlich auf dem Server ausgefuehrt
werden koennen (sonst werden naemlich alle benoetigten Tabellen lokal
heruntergeladen, das Query ausgefuehrt, das Zwischenresultat an den
Server zurueckgeschickt und von diesem wiederum an den Client
zurueckgegeben).

Um sicherzugehen, dass die Queries auf dem Server ausgefuehrt werden,
kannst du Pass-Through-Abfragen verwenden. Wenn in diesen etwas
vorkommt, das nicht auf dem Server ausgefuehrt werden kann, bekommst du
naemlich eine "schoene" Fehlermeldung. Generell musst du aufpassen, dass
in Queries nicht auf ein Feld auf einem Formular oder auf eine
Access-Funktion bezug genommen wird. Folgende Abfragen koennen von
keinem Server ausgefuehrt werden:

select * from Adressen where Nachname Like
[Formulare]![SuchFormular]![MeinSuchFeld]

oder

select * from Adressen where Nachname Like UCase$("Meier")

Das bedeutet, dass du Queries mit Parametern in aller Regel in einem
Stueckchen Access Basic zusammenschusterst und dann auf den Server
loslaesst.


> [Resultset Readonly von einer Pass-Through-Abfrage]

Es ist von der Perfomance her generell schlecht, ein Resultset einer
SQL-Server-Abfrage schrittweise durchzulaufen und Werte zu veraendern.
Updates, Inserts und Deletes fuehrt man besser direkt mit einem
SQL-Statement aus; aergerlicherweise bedeutet das, dass man einen
ansehnlichen Teil der Programmlogik umschreiben muss (kenne ich aus
eigener Erfahrung) ;( 

Ebenfalls zu beachten ist, dass man sich mit Pass-Through-Abfragen (und
evtl. Stored Procedures auf dem Server selbst) in eine Abhaengigkeit von
einer bestimmten Server-Software begibt. 

Es ist also nix mit dem "einfach 'mal schnell die ODBC-Quelle aendern".
Ich wuerde dir die Lektuere der MSDN-CD's oder der M$-Knowledgebase
empfehlen, dort gibt es einige Artikel ueber den Umgang mit
Access-Frontend und SQL-Server-Backend (natuerlich spezifisch fuer
MS-SQL-Server, aber auch fuer andere Server anwendbar).

Nach all' diesen Einschraenkungen fragt es sich, ob Access wirklich noch
das ideale Tool fuer das Datenbank-Frontend ist. _Meistens_ komme ich
zum Schluss, dass es trotzdem ein gutes Werkzeug ist, da z.B. Reports
und verschiedene Datenbank-Controls (z.B. Lookup-Comboboxen) sehr sauber
integriert sind und die Anwendungsentwicklung im Vergleich zu einer
anderen Umgebung (wie C[++]) relativ "billig" ist - allerdings nicht
fuer grosse Projekte! Meine Faustregel: Anwendungen, die mehr als ca.
einen Mannmonat benoetigen, sollten besser _nicht_ in Access geschrieben
werden.

Ups, das passt jetzt schon beinahe nicht mehr nach *linux*.
<tschuldigung>

Gruss,
Matthias

-- 
___________________________________________________________
leisi@codelab.ch          2.5:1.5            Matthias Leisi
Technical Details
Message-ID: <369B154B.34B15D8A@codelab.ch>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01be3d84$89cacfa0$ad9387c1@home.home> <369c1efe.350516696@news.ohz.north.de> <369A09E5.3D3B934F@gmx.net>

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit
X-Google-Thread: f4b73,ca0ee00d4e000729
X-Google-Attributes: gidf4b73,public
X-Google-Thread: f55df,ca0ee00d4e000729
X-Google-Attributes: gidf55df,public
From: Matthias Leisi <leisi@codelab.ch>
Subject: Re: Eure Ideen gefragt: Access Datenbank beschleunigen (mit Linux  versteht sich)
Date: 1999/01/12
Message-ID: <369B154B.34B15D8A@codelab.ch>
X-Deja-AN: 431589247
Content-Transfer-Encoding: 7bit
References: <01be3d84$89cacfa0$ad9387c1@home.home> <369c1efe.350516696@news.ohz.north.de> <369A09E5.3D3B934F@gmx.net>
X-Accept-Language: de
Content-Type: text/plain; charset=us-ascii
X-Complaints-To: news@ip-plus.net
X-Trace: pollux.ip-plus.net 916133362 25802 164.128.63.131 (12 Jan 1999 09:29:22 GMT)
Organization: (private)
Mime-Version: 1.0
NNTP-Posting-Date: 12 Jan 1999 09:29:22 GMT
Newsgroups: ch.comp.os.linux,de.comp.os.unix.linux.misc