brauche hilfe bei query optimierung

  • heyho, ich habe folgende datenbank mit ca. 19k einträgen.

    ich möchte jetzt von der uid die zugehörige gesammtpostinganzahl haben, und die pro uid ausgegeben haben.

    mein query den ich mir dafür passenderweise überlegt hab, umfasst allerdings ein subquery, weswegen ich damit bei 19k den datenbankserver sprenge.

    der query sieht bis dato so aus:

    SQL
    SELECT
      r.uid,
      (SELECT sum(posts) 
       FROM relation 
       WHERE uid=r.uid) AS posts 
    FROM relation AS r 
    GROUP BY uid 
    ORDER BY posts DESC;

    wie optimiert man sowas?

  • jo genau, das is die lösung auf die ich auch schon gestoßen bin, hatte nicht beachtet, dass bei einer group by anweisung die sum() funktions über die jeweiligen gruppen berechnet werden und nicht über den kompletten datensatz.

  • sonst hätte ja group by keinen sinn, sonder wäre nur ne variante von order by. naja jetzt hat jemand zumindest die lösung, wenn er per google nach sowas schaut...


Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!