mySQL Join sehr langsam

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mySQL Join sehr langsam

    Hallo zusammen,

    ich hab mal wieder ein kleines Problemchen wo ich nicht weiter komme.

    Ich habe meine Tabelle etwas auseinander genommen und den Teil ich der ich die Dateinamen von Bildern gespeichert hatte in eine extra Tabelle ausgelagert.

    Sieht genau so aus:
    Code:
    SELECT addis.`id`, `einrichtung1`, `einrichtung2`, `strasse`, `plz`, `ort`, `vorwahl`, `telefon`, docs3.filename
       FROM addis 
    LEFT JOIN docs3 ON docs3.kid = addis.id AND kat = '1' 
       WHERE `level` >=1 AND `plz` LIKE '5%' 
    GROUP BY addis.id 
    ORDER by premium DESC, einrichtung1 ASC
    Funktioniert auch... etwas unschön ist jedoch das mySQL 5.0.45 dafür ca. 10 Sekunden braucht. (PMA sagt ca. 5 Sekunden)
    Der mysql Prozess unter Suse10 läuft in dieser Zeit auf 100% und zieht das ganze System runter.

    Ich habe schon mit den verschiedenen JOINs rumgespielt aber nichts passendes gefunden.

    Das "GROUP BY addis.id" musste ich einfügen da es zu jeder id mehrere Dateinamen geben kann diese aber jeweils nur 1 mal ausgegeben werden sollen.

    Ohne GROUP läuft es allerdings auch nicht schneller.
    Die Ausgabe unter PMA beinhaltet auch wirklich nur das wesentliche.

    Kann mir jemand weiter helfen wie ich die Abfrage etwas optimieren könnte. Ohne JOIN rennt die Abfrage zu vollsten Zufriedenheit.

    Cu Susi
    PHP 8.0, MariaDB 10.5 auf U20.04

  • #2
    Und du hast noch kein EXPLAIN ausgeführt?

    Kommentar


    • #3
      Poste mal die Tabellenstruktur bitte. Und setze konsequent überall den tabellenanmen vor das Feld, dass Du ansprichst. Zum Teil hast Du das ja schon gemacht.
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar

      Lädt...
      X