[mysql] Abfrage dauert manchmal ewig

skee

Mitglied
Hallo zusammen,
Ich hoffe, ihr könnt mir helfen:
Ich habe eine Abfrage, die manchmal super schnell abläuft (100-200ms), aber manchmal bis zu 15Min dauert und ich habe keine Ahnung, woran das liegt. Die Menge an gespeicherten Daten ist aktuell auch noch sehr überschaubar, so dass ich keine Ahnung habe, was das Problem verursacht.
Hier mal meine Query:
Code:
SELECT DISTINCT
        u.id as user_id,
        u.email as user_email,
        u.company as user_company,
        u.address as user_address,
        u.hausnummer as user_hausnummer,
        u.plz as user_plz,
        u.city as user_city,
        u.qualificationIndex as user_qualificationIndex,
        u.logo as user_logo,
        u.userLevel as user_userLevel,
        u.description as user_description,
        c.id as categorie_id,
        c.name as categorie_name,
        cs.id as categorie_sub_id,
        cs.name as categorie_sub_name,
        a.id as action_id,
        a.name as action_name,
        w.id as workspace_id,
        w.name as workspace_name,
        l.id as language_id,
        l.name as language_name,
        b.id as branche_id,
        b.name as branche_name
        FROM
        users u,
        users_to_categories utc,
        users_to_categories_sub utcs,
        users_to_actions uta,
        users_to_workspaces utw,
        users_to_languages utl,
        users_to_branchen utb,
        categories c,
        categories_sub cs,
        actions a,
        workspaces w,
        languages l,
        branchen b
        WHERE
        u.isProvider=1 AND
        utc.categorie_id >=0 AND
        utcs.categorie_sub_id >=0 AND
        uta.action_id >=0 AND
        utw.workspace_id >=0 AND
        utl.language_id >=0 AND
        utb.branche_id >=0 AND
       
        u.id=utc.user_id AND
        u.id=utcs.user_id AND
        u.id = uta.user_id AND
        u.id=utw.user_id AND
        u.id=utl.user_id AND
        u.id=utb.user_id AND
        utc.categorie_id = c.id AND
        utcs.categorie_sub_id =cs.id AND
        uta.action_id =a.id AND
        utw.workspace_id=w.id AND
        utl.language_id = l.id AND
        utb.branche_id = b.id
       
        ORDER BY u.qualificationIndex

Ich habe auch mal mit EXPLAIN die Query analysiert und da sehe ich jetzt auch nichts, was für diese unglaublich lange Laufzeit verantwortlich sein könnte. Ich habe mal einen Screenshot als Anhang mit rein gepackt.
Wäre super, wenn mir irgendjemand nur einen kleinen Hinweis geben könnte, oder mich in die richtige Richtung stupsen könnte.

Danke
Skee
 

Anhänge

  • sql.png
    sql.png
    58,8 KB · Aufrufe: 8
Nicht dass deine Query falsch wäre, aber hast du mal deine Query mit Inner Join Syntax umgeschrieben um zu schauen wie es damit läuft? Und zudem: haben die join IDs Indizes?
 
Zurück