Grazie per la dritta, in effetti ne sto provando un pò di cose trovate qua e là per internet.
Indici li ho inseriti secondo quanto scritto in altri siti come
http://www.joomlaperformance.com/ , e
http://www.ircmaxell.com/articles/joomla/improving-joomlas-queries.html ma non influiscono molto.
Dalla mia esperienze lavorative evinco che si tratta di query e di certo gli indici sono di aiuto.
Ho utilizzato tutto ciò che c'è di standard nel pacchetto base di joomla, anzi , per vedere se altri menù funzionassero meglio li ho provati ma alla fine applicano solo l' output override al core, quindi le query rimangono le stesse. Secondo quanto letto qui:
http://www.joomlaperformance.com/forums/func,view/id,2454/catid,14/ è un problema della versione 1.5.
Vi posto la query in questione per le sezioni:
(\htdocs\components\com_content\models\section.php)
#
SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.hits, a.images, a.urls, a.ordering, a.metakey, a.metadesc, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(':', a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug, CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, cc.title AS category, g.name AS groups, u.email AS author_email
FROM jos_content AS a
INNER JOIN jos_categories AS cc
ON cc.id = a.catid
LEFT JOIN jos_sections AS s
ON s.id = a.sectionid
LEFT JOIN jos_users AS u
ON u.id = a.created_by
LEFT JOIN jos_groups AS g
ON a.access = g.id
WHERE a.access <= 0
AND s.id = 27
AND s.access <= 0
AND cc.access <= 0
AND s.published = 1
AND cc.published = 1
AND a.state = 1
AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '2010-02-02 10:58:06' )
AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '2010-02-02 10:58:06' )
ORDER BY a.created DESC
Mi chiedo come mai questo tipo di controllo, partendo dal contenuto! Cioè capisco che questa query identifica se una sezione deve essere pubblicata o meno a seconda solo se contiene articoli e altre varie cose, ma così stiamo a rallentare un bel pò le operazioni!
Basterebbe se mai mettere una semplice scritta che la Sezione non contiene articoli o categorie.