Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

hilfe bei query optimierung

Diskussion: hilfe bei query optimierung im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige heyho, ich habe folgende datenbank mit ca. 19k einträgen. Code: +-----+------------------+------------------+-------+--------+-------+ | id | uid | fid | posts ...

Antwort
Alt 08.07.09, 19:05   #1 (permalink)
Member of Honour
 
Benutzerbild von easteregg
 
Registriert seit: 14.09.07
easteregg Leistung: Pentium Ieasteregg Leistung: Pentium I
easteregg eine Nachricht über ICQ schicken
Likes: 62
hilfe bei query optimierung

Anzeige

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 |>
easteregg ist offline   Mit Zitat antworten
Alt 08.07.09, 19:58   #2 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

Wenn du schon über die User gruppierst, dann sollten die Aggregat-Funktionen (sum,count,max,min,...) doch auch direkt über diese Gruppierung funktionieren?

Code:
SELECT
  uid,
  sum(posts) AS posts_gesamt 
FROM relation 
GROUP BY uid 
ORDER BY posts_gesamt DESC;
edit:
soeben ausprobiert, funktioniert.

edit2:
Zitat:
Original von easteregg
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;
das "AS" wird normalerweise nur benutzt, um bei der Projektion der Daten (also alles was zwischen SELECT und FROM steht) einen Spaltennamen/Alias zu vergeben.
Die Betitelung der einzelnen Tabellen erfolgt ohne dem "AS" dazwischen.

MySQL scheint das auch mit "AS" zu schlucken. Andere Datenbanken, wie z.B. Oracle, haben damit ihre Probleme.
beavisbee ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 08.07.09, 20:15   #3 (permalink)
Member of Honour
Themenstarter
 
Benutzerbild von easteregg
 
Registriert seit: 14.09.07
easteregg Leistung: Pentium Ieasteregg Leistung: Pentium I
easteregg eine Nachricht über ICQ schicken
Likes: 62
Standard

sehr schön
ich danke dir
__________________
» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
easteregg ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » hilfe bei query optimierung
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Langsammen Query überarbeiten easteregg (Web-) Design und webbasierte Sprachen 4 16.06.09 14:31
SQL: Query gesucht boehmi Code Kitchen 5 05.05.09 20:56
Wie bekomme ich dieses SQL-query hin? jesus Code Kitchen 1 19.02.07 11:49
640x480 Optimierung webfreak (Web-) Design und webbasierte Sprachen 6 06.02.07 21:31
Kernel-Optimierung Nesssus Linux/UNIX 3 24.02.06 13:38


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61