Guten Morgen
Testweise habe ich hier lokal MySQL installiert und greife mit OpenOffice/Base über ODBC darauf zu. Kein Problem, funktioniert alles wunderbar.
Nun habe ich bei meinem Hoster ebenfalls die Möglichkeit, MySQL-Datenbanken zu erstellen und von aussen darauf zuzugreifen. Im Prinzip auch kein Problem, nur eine Kleinigkeit nervt dabei extrem: Sobald ich über OpenOffice/Base eine Tabelle öffne, dauert das eineinhalb bis über zwei Minuten, bis sich etwas tut. Danach scheint alles gut zu laufen, bis ich
eine weitere Tabelle zum Bearbeiten zu öffnen versuche ... Der MySQL Administrator (1.2.17) und andere Programme aus dem MySQL-Paket haben keinerlei Probleme mit dem Zugriff.
Lokale Einrichtung/Client:
- MySQL 5.1.35
- ODBC 5.1
- OpenOffice 3/Base 3.0.1, inzwischen 3.1.0
- Windows XP SR3
Remote-Server:
- MySQL 5.1.30
In der deutschsprachigen MySQL-Newsgroup habe ich dieses Problem geschildert und wir sind bei der Analyse so weit gekommen, dass der Ablauf des Datenaustauschs zwischen Client und Server klarer wurde. Beim Login und der Suche nach Tabellen (SHOW TABLE STATUS LIKE ...) läuft noch alles normal, aber sobald eine Tabelle zur Dateneingabe geöffnet werden soll, sendet OO3/Base eine ellenlange SQL-Query [1] an den Server, welcher dann 90 Sekunden damit beschäftigt ist, (bei meiner äusserst einfachen Datenbank) *kein* Resultat zurück zu liefern, danach versucht es OO3/Base nocheinmal mit demselben Query und erhält wiederum kein Resultat (nach 40 Sekunden). Danach werden die Daten aus der Tabelle übertragen, angezeigt, zur Bearbeitung freigegeben und alles läuft sehr flüssig weiter. Bis ich eine andere Tabelle zu öffnen versuche, dann dauert es wieder 1 1/2 Minuten ...
Ein weiteres Resultat meiner Frage in der MySQL-Newsgroup war, dass der Zugriff auf INFORMATION_SCHEMA grundsätzlich extrem langsam wäre (aber doch nicht *so* langsam, oder?!). In der Folge schob einer der Antworter das Problem auf OpenOffice/Base (wg. der langen SQL-Query) und ein anderer [auch] auf MySQL, weil es - ich zitiere - "entgegen jeder Vernunft kein Data Dictionary hat".
Den Schuldigen suche ich jedoch nicht, sondern nur eine Lösung, wie ich die langen Wartezeiten verkürzen/vermeiden kann. Ich habe diverse Einstellungen bei OO schon ausprobiert, aber nichts brachte irgendeinen Erfolg. Hat irgendwer einen Tipp für mich? Auch Berichte über ähnliche oder abweichende Erfahrungen beim Remote-Zugriff auf MySQL-Datenbanken würden mir schon mal helfen.
Vielen Dank im Voraus.
Gruss - Guido
[1] http://www.g-st.ch/temp/oo3_tabelle_oeffnen.sql
Lange Wartezeiten bei Remote-Zugriff auf MySQL-Datenbank
Moderator: Moderatoren
-
- Beiträge: 3
- Registriert: Mi, 17.06.2009 13:47
- Wohnort: Basel/Schweiz
- Kontaktdaten:
Re: Lange Wartezeiten bei Remote-Zugriff auf MySQL-Datenbank
Den hier viewtopic.php?f=8&t=24701&start=0&hilit=mysql zum Beispiel? Beschreibt das gleiche Problem.Guido Studer hat geschrieben:Auch Berichte über ähnliche oder abweichende Erfahrungen beim Remote-Zugriff auf MySQL-Datenbanken würden mir schon mal helfen.
Hast du es mal mit JDBC probiert?Guido Studer hat geschrieben:Lokale Einrichtung/Client:
...
- ODBC 5.1
...
-
- Beiträge: 3
- Registriert: Mi, 17.06.2009 13:47
- Wohnort: Basel/Schweiz
- Kontaktdaten:
Re: Lange Wartezeiten bei Remote-Zugriff auf MySQL-Datenbank
Guten Abend
Vielen Dank für Deine Hinweise.
Gruss - Guido
Ja, das könnte ein ähnliches Problem sein, auch wenn ich es aus der Beschreibung heraus nicht unbedingt nachvollziehen kann.hol.sten hat geschrieben:Den hier viewtopic.php?f=8&t=24701&start=0&hilit=mysql zum Beispiel? Beschreibt das gleiche Problem.
Nein, das habe ich bisher noch nicht hingekriegt. Da die Wartezeit allerdings nach dem analysierten TCP/IP-Protokoll eher im Bereich des MySQL-Servers entsteht, genauer beim Versuch Angaben zu der zu öffnenden Tabelle erhältlich zu machen, denke ich eher nicht, dass es darauf ankommt, ob JDBC oder ODBC verwendet wird. Und ob das eine nun etwas schneller als das andere läuft mag später beim Feintounig eine Rolle spielen, jetzt geht es eher darum, warum OO3/Base diese Query an den MySQL-Server schickt und warum dies bei einem lokalen Server so schnell, bei einem Remote-Server aber mit derartigen Wartezeiten abgearbeitet wird.hol.sten hat geschrieben:Hast du es mal mit JDBC probiert?
Vielen Dank für Deine Hinweise.
Gruss - Guido
Re: Lange Wartezeiten bei Remote-Zugriff auf MySQL-Datenbank
Und warum nicht? Welches Problem bereitet dir JDBC?Guido Studer hat geschrieben:Nein, das habe ich bisher noch nicht hingekriegt.hol.sten hat geschrieben:Hast du es mal mit JDBC probiert?
-
- Beiträge: 3
- Registriert: Mi, 17.06.2009 13:47
- Wohnort: Basel/Schweiz
- Kontaktdaten:
Gelöst!
Guten Morgen
Das Erfreulichste dabei ist, dass sich die Wartezeiten von mehreren Minuten auf zwei Sekunden verkürzt haben, das Problem also gelöst ist! Ein Blick auf die Ausgabe von Wireshark bezüglich dem MySQL-Protokoll hat nun auch zutage geführt, dass die problematische Query, die so viel Zeit verbrauchte, gar nicht mehr gesendet wird.
Vielen Dank für Deine Hilfe und falls Du noch eine Erklärung für das Ganze hättest, wäre ich Dir für ein paar Kommentare dankbar.
Gruss - Guido
Es war wohl primär ein Verständnisproblem meinerseits bezüglich der Dokumentation, wie mir erscheint. Ein neuerlicher Anlauf hat es jedenfalls gebracht, jetzt läuft auch JDBC.hol.sten hat geschrieben:Und warum nicht? Welches Problem bereitet dir JDBC?Guido Studer hat geschrieben:Nein, das habe ich bisher noch nicht hingekriegt.hol.sten hat geschrieben:Hast du es mal mit JDBC probiert?
Das Erfreulichste dabei ist, dass sich die Wartezeiten von mehreren Minuten auf zwei Sekunden verkürzt haben, das Problem also gelöst ist! Ein Blick auf die Ausgabe von Wireshark bezüglich dem MySQL-Protokoll hat nun auch zutage geführt, dass die problematische Query, die so viel Zeit verbrauchte, gar nicht mehr gesendet wird.
Vielen Dank für Deine Hilfe und falls Du noch eine Erklärung für das Ganze hättest, wäre ich Dir für ein paar Kommentare dankbar.
Gruss - Guido
Re: Gelöst!
Eine Erklärung habe ich nicht. Wenn ich aber in einem Thread in diesem Forum lese "wo besteht eigentlich der Sinn in einer ODBC-Verbindung, wenn es derart lange dauert bis ein paar Daten geladen sind." und dieser Thread die Überschrift "Sinn oder Unsinn von ODBC-Verbindungen zu externem SQL" trägt, da kam mir das Problem bekannt vor und somit lag die Lösung in Form von JDBC auf der Hand, auch wenn du das aus dem Thread nicht herauslesen konntest.Guido Studer hat geschrieben:falls Du noch eine Erklärung für das Ganze hättest, wäre ich Dir für ein paar Kommentare dankbar.