JOIN og performance-problem
Jeg har følgende sætning:SELECT billedalbums.titel, billedalbums.beskrivelse, billedalbums.id, billedalbums.type, billedalbums.brugerid, billedalbums.rating, COUNT( DISTINCT billedalbum.id ) AS picCount, AVG( kommentarer.rating ) AS ratings
FROM (
(
(
billedalbums
INNER JOIN billedalbum ON billedalbums.id = billedalbum.albumid
)
INNER JOIN venneliste ON ( billedalbums.brugerid = venneliste.brugerid AND billedalbums.type = 'V' AND venneliste.venid =300 ) OR billedalbums.type = 'A'
)
LEFT JOIN kommentarer ON kommentarer.strID = billedalbums.id AND kommentarer.strtype = 'billedalbum' AND kommentarer.rating <>0
)
GROUP BY billedalbums.id
Problemet er at computeren næsten bliver lagt ned når den eksekveres, på trods af at jeg kun får rækker...
Ved brug af EXPLAIN fås følgende resultat:
http://kongsfelt.dk/joinSQL.jpg
Håber i kan give mig en forklaring og en måde at lave denne forespørgsel på uden at det hele serveren går ned.
MVH Mikkel
