Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
brauche hilfe bei query optimierung
ggeretsae Offline
Erfahrener Benutzer

Beiträge: 621
Registriert seit: Apr 2009
Beitrag #1
brauche hilfe bei query optimierung
heyho, ich habe folgende datenbank mit ca. 19k einträgen.

Code:
+-----+------------------+------------------+-------+--------+-------+
| id  | uid              | fid              | posts | linked | value |
+-----+------------------+------------------+-------+--------+-------+
|   1 | a93c0e3fb4105dd3 | 859adf2bdf4064f0 |     1 |      0 |     0 |
|   2 | a93c0e3fb4105dd3 | 3229faa85b3b958d |     0 |      0 |     0 |
|   3 | a93c0e3fb4105dd3 | 6acb2a3288750b0b |     0 |      0 |     0 |
|   4 | a93c0e3fb4105dd3 | d3146a7e07afa9ce |     1 |      0 |     0 |
|   5 | a93c0e3fb4105dd3 | 659363a2274f1523 |     1 |      0 |     0 |
|   6 | a93c0e3fb4105dd3 | 17afcd78ef02850f |     0 |      0 |     0 |
|   7 | a93c0e3fb4105dd3 | 195ffbd3badb2df0 |     1 |      0 |     0 |
|   8 | a93c0e3fb4105dd3 | 121c029287b43782 |     0 |      0 |     0 |
|   9 | a93c0e3fb4105dd3 | 672238295fe947fa |     0 |      0 |     0 |
|  10 | a93c0e3fb4105dd3 | 8de35df72d3f438c |    13 |      0 |     0 |
|  11 | a93c0e3fb4105dd3 | 0143cfd9e46c2050 |     1 |      0 |     0 |
|  12 | 79d1f123d480d3f2 | 1d2fa72e5d6bf027 |     0 |      0 |     0 |
|  13 | 79d1f123d480d3f2 | 0036d76cba3e3f49 |     0 |      0 |     0 |
|  14 | 79d1f123d480d3f2 | a4bfa648428f646d |     0 |      0 |     0 |
|  15 | 79d1f123d480d3f2 | 1a608efc36e97fc9 |     1 |      0 |     0 |
|  16 | 79d1f123d480d3f2 | 3a475ce4f2e7f964 |     0 |      0 |     0 |
|  17 | a93c0e3fb4105dd3 | d1e48572db3af02b |     0 |      0 |     0 |
|  18 | a93c0e3fb4105dd3 | 743a6f834b27fdf2 |     0 |      0 |     0 |
|  19 | a93c0e3fb4105dd3 | db736b5e3fe61228 |     0 |      0 |     0 |
|  20 | a93c0e3fb4105dd3 | 79839fcc1572a3da |     2 |      0 |     0 |
|  21 | a93c0e3fb4105dd3 | ed13b0f0595ba73e |     1 |      0 |     0 |
|  22 | a93c0e3fb4105dd3 | 062b0d8ac89c08b9 |     2 |      0 |     0 |
|  23 | a93c0e3fb4105dd3 | a68a2a3ca1f68e43 |     0 |      0 |     0 |
|  24 | a93c0e3fb4105dd3 | 8434e15eb2a60152 |     0 |      0 |     0 |
|  25 | a93c0e3fb4105dd3 | dc40bffe4c276d7c |     3 |      0 |     0 |
|  26 | a93c0e3fb4105dd3 | 7fc4c496895550ba |     1 |      0 |     0 |
|  27 | a93c0e3fb4105dd3 | ac1c5d266a78ddb8 |     0 |      0 |     0 |
|  28 | a93c0e3fb4105dd3 | 215872aec90d8472 |     0 |      0 |     0 |
|  29 | a93c0e3fb4105dd3 | d2478675e50fc52c |     5 |      0 |     0 |

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:

Code:
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?

» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
08.07.2009 18:16
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Dirk Offline
Software Archäologe

Beiträge: 14.736
Registriert seit: Jul 2008
Beitrag #2
brauche hilfe bei query optimierung
select sum(posts) as dings
from relation
group by uid
order by dings DESC;

Müsste die kurzform nicht reichen/gehen. werf mal rein.

08.07.2009 21:52
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
ggeretsae Offline
Erfahrener Benutzer

Beiträge: 621
Registriert seit: Apr 2009
Beitrag #3
brauche hilfe bei query optimierung
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 suBanana Facepalm) funktions über die jeweiligen gruppen berechnet werden und nicht über den kompletten datensatz.

» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
09.07.2009 01:26
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Dirk Offline
Software Archäologe

Beiträge: 14.736
Registriert seit: Jul 2008
Beitrag #4
brauche hilfe bei query optimierung
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...

09.07.2009 08:26
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste