phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?AW:_Geschwindigkeitseinbu=DFen_nach_MySQL-Portierung?=

AW: Geschwindigkeitseinbußen nach MySQL-Portierung

Michael Donning mysql_(at)_lists.phpcenter.de
Thu, 29 Mar 2001 14:04:39 +0200


Hallo Thomas,

> Nun soll das ganze eine echte Client-Server-Anwendung werden und ich
> habe die Daten nach MySQL (auf nem Linux-Server) portiert, die Tabellen
> über MyODBC verknüpft, und die Anwendung leicht angepasst.
> RESULTAT: Die Anwendung läuft ca. 10 mal langsamer als zuvor. Wie kann
> das sein???

1.
Lief die Anwendung vorher auf einem Netzwerklaufwerk oder lokal? Wenn Sie
lokal lief, dann ist zu bedenken, daß nun die Daten zumindest noch über das
Netzwerk vom zum mysql-server geschaufelt werden.

2.
Access hat manchmal eigene Ansichten was es selbst macht und was MySql
machen darf. Z.B. werden bei manchen Joins von Access ersteinmal alle
beteiligten ODBC-Tabellen komplett geladen und dann der Rest im
Arbeitsspeicher erledigt.

Wenn man sicher gehen will, daß mysql die Abfragen auch selbst vorgesetzt
bekommen lassen Joins sich am sichersten über Pass-Thru Abfragen in
MySql-Syntax realisieren. Hierbei sollte in den Einstellungen der Abfrage
natürlich der DSN (Odbc-Datenquellenname) vorgesehen werden
(;DSN="meinedb"). Sonst wird jedesmal danach gefragt.
Ich kann Dir allerdings nicht sagen, wie effektiv/unproblematisch
PassThru-Abfragen bei Aktualisierungen sind. Das wäre zu testen.

3.
Wenn die Ergebnismengen groß sind, ist Access mit eigener Datenbank im
Vorteil, weil es in der eigenen Datenbank nach Belieben nur einzelne Sätze
(z.B. für die Anzeige) entnehmen muß. Bei ODBC-Datenbanken fragt Access
dafür gerne mal die gesamte Abfrage/Tabelle an, bevor dann weitergemacht
wird. Falls sinnvoll kann man die Ergebnismengen mit LIMIT einschränken.


Gruss, Michael Donning

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive