Reiner: Optimierung von MySQL-Code

Beitrag lesen

Hallo zusammen

Ich habe jetzt viel über Join-Anweisungen gelesen. Jedoch habe ich es nicht fertig gebracht, dieses MYsql-Statement zu optimieren:

SELECT * FROM woerter WHERE id = '1226160' OR ( original = '1226160' AND sprache1 = 'asdf' AND sprache2 = 'asdfaa' AND ( SELECT refresh FROM buecher WHERE id = ( SELECT buchid FROM lektionen WHERE id = lektionenid )) = '1')

Ich nutze auch manchmal subselects, weil es vieles einfach macht.
Aber hier sind 2 völlig unabhängige Dinge wild durcheinandergewürfelt, oder?
Ich glaube auch nicht, dass das heraus kommt, was Dir vorschwebt!
Und: Mich wundert, dass es "nur" 1.5 Sekunden dauert...

Ich würde folgendes vorschlagen:

  • richtiges Thema (hat nix mit Php zu tun)
  • kurze Struktur Deiner Tabellen und Sinn bzw. Abhängigkeiten
  • was soll Deine Query auswerfen?

und ja: beschäftige Dich etwas mit explain, wie richtig vorgeschlagen wurde.

lg
Reiner