I've got this query that the more results there are to return, the longer the query takes. Weird thing is about a month ago there was no issue with how long it took. SELECT L.listing_id, L.category, L.property_name, L.island, L.location, L.district, L.hide, L.price, L.featured, L.hide, L.expiry, CATISL.category AS islandString, CATLOC.category AS locationString, CATDIS.category as districtString, M.type, M.filename, M.caption FROM listings AS L LEFT JOIN categories AS CATISL ON L.island=CATISL.id LEFT JOIN categories AS CATLOC ON L.location=CATLOC.id LEFT JOIN categories AS CATDIS ON L.district = CATDIS.id LEFT JOIN media AS M ON M.parent_listing = L.listing_id AND M.type='photo' WHERE L.cms_status='complete' AND L.category='residential' GROUP BY listing_id ORDER BY hide ASC, expiry DESC, property_name ASC