Jag ombads undersöka på en sql-fråga och varför den tar sådan tid att ställa, men jag är ju inte precis någon sql-guru så jag måste nog ta hjälp av expertisen här om det går bra.
Bara rent spontant, vad skulle kunna vara resurskrävande i denna fråga?
Jag vet t.ex. att "type" som förekommer i LIKE-sökningen nedan är semikolonseparerade listor i en enda kolumn. D.v.s "type" för en produktgrupp kan vara "avpassat;rullvara", och det känns ju som att kan vara ganska omfattande att söka flera gånger med LIKE som görs nedan.
Kan det vara LIKE-prylarna som är boven?
SELECT p.id productid, g.*, pics.id picid
FROM prd_products p
INNER JOIN prd_groups g ON p.prodgroupid = g.id
LEFT OUTER JOIN prd_products_pics pics ON p.id = pics.productid
WHERE g.grouptype = 'textile'
AND (
LCASE(type) LIKE '%avpassat%'
OR LCASE(type) LIKE '%platta%'
OR LCASE(type) LIKE '%rullvara%'
)
GROUP BY g.id
Jag kan också nämna att när man väl kört en fråga så går den mycket snabbare när man kör den igen inom en viss tid. Väntar man en längre tid så blir det slött igen.