SQL Anweisung

Hallo Leute,

ich habe ein Problem mit meinen SQL Anweisung. Ich arbeite mit MySQL-Server und da sind sie zu langsam. gibt es ein Tool, das die SQL Anweisung testet und mir evtl. Verbesserungsvorschläge macht!?! Oder mal anders…das evtl. gleich die schnellste Anweisung generiert.

Gruß Matthias

Hi,
der query optimizer in MySQL ist machmal - sagen wir - nicht optimal.
Wenn du die Indices richtig gesetzt hast, hilft meist der Query ein „force index“ mitzugeben.
„SELECT Count(t.id) FROM meineTabelle t force index (idxdatum) where usw.“
Wenn du das Schlüsselwort EXPLAIN vor das SELECT Statement setzt, dann wird dir der Ausführungsplan angezeigt. Danach kannst du denn optimieren und ausprobieren.
Die Optimierungen habe mit dem „MySQL Control Center“ von MySQL gemacht. (Von der Konsole geht es natürlich auch für Hardcore-Konsolen-Freaks)

Ist aber alles nichts automatisches sondern echte Hand- und Kopfarbeit.

HTH
Quaser

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

OK, werd ich mal versuchen. Hab schon mal mit der Konsole gearbeite, aber mehr schlecht als recht:smile:

Danke und Gruß
Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Mathias,

um Deine Abfrage zu optimieren, solltest Du sie erst mal selbst nachvollziehen können. Schreib Dir die Tabellen auf und deren Verbindungen. Jetzt ordne Deine Selektionsbedingungen so, dass Du den logischen Weg durchläufst. Manchmal reicht das schon aus, um dem Optimizer zu helfen, die führende Tabelle zu finden.

Danach solltest Du Dir die Selektionsbedingungen ansehen und ausprobieren, was passiert, wenn Du einen Suchindex darauf erstellst. (Keinen Unique Index) Wenn ein Index nichts bringt - schmeiß ihn wieder raus.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]