Grazie della risposta ma il nostro problema è proprio sul core di Joomla e non solo sugli add-on.
query di esempio:
SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, uam.name as modified_by_name,CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END as publish_up,a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, LENGTH(a.fulltext) AS readmore,CASE WHEN badcats.id is not null THEN 0 ELSE a.state END AS state,c.title AS category_title, c.path AS category_route, c.access AS category_access, c.alias AS category_alias,CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author,ua.email AS author_email,contact.id as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating, v.rating_count as rating_count,c.published, CASE WHEN badcats.id is null THEN c.published ELSE 0 END AS parents_published
FROM oflrq_content AS a
LEFT JOIN oflrq_content_frontpage AS fp ON fp.content_id = a.id
LEFT JOIN oflrq_categories AS c ON c.id = a.catid
LEFT JOIN oflrq_users AS ua ON ua.id = a.created_by
LEFT JOIN oflrq_users AS uam ON uam.id = a.modified_by
LEFT JOIN (
SELECT contact.user_id, MAX(contact.id) AS id, contact.language
FROM oflrq_contact_details AS contact
WHERE contact.published = 1
GROUP BY contact.user_id, contact.language) AS contact ON contact.user_id = a.created_by
LEFT JOIN oflrq_categories as parent ON parent.id = c.parent_id
LEFT JOIN oflrq_content_rating AS v ON a.id = v.content_id
LEFT OUTER JOIN (SELECT cat.id as id FROM oflrq_categories AS cat JOIN oflrq_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUP BY cat.id ) AS badcats ON badcats.id = c.id
WHERE a.access IN (1,1) AND CASE WHEN badcats.id is null THEN a.state ELSE 0 END = 1 AND (a.catid = 14 OR a.catid IN (
SELECT sub.id
FROM oflrq_categories as sub
INNER JOIN oflrq_categories as this ON sub.lft > this.lft AND sub.rgt < this.rgt
WHERE this.id = 14)) AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2012-08-30 09:13:41') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2012-08-30 09:13:41')
GROUP BY a.id, a.title, a.alias, a.title_alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, a.created, a.modified, a.modified_by, uam.name, a.publish_up, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, a.fulltext, a.state, a.publish_down, badcats.id, c.title, c.path, c.access, c.alias, uam.id, ua.name, ua.email, contact.id, parent.title, parent.id, parent.path, parent.alias, v.rating_sum, v.rating_count, c.published, c.lft, a.ordering, parent.lft, fp.ordering, c.id, a.images, a.urls
ORDER BY CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END DESC , a.created LIMIT 0, 10
E' vero che joomla non si risparmia sulle query e il problema con poco traffico non ce se ne accorge neanche ma se il traffico aumenta ecco lì che il problema si presenta ritrovandosi centinaia di query in coda con conseguente blocco del sito.