- Home
- Categorie
- Coding e Sistemistica
- Joomla!
- queries duplicate
-
queries duplicate
Salvee
attivando il debug ho notato che nelle pagine del sito ci sono diverse queries duplicate
come si potrebbe risolvere
grazie
-
Ciao, dovresti porre la domanda in modo più preciso e dettagliato.
"*attivando il debug" e "diverse queries duplicate" *possono voler dire tante cose.
-
hai ragione ! mi sono immerso troppo nel "problema"
ho notato che nella home e nelle altre pagine del sito andando ad analizzare il risultato del debug in merito alle queries del DB risulta che alcune sono duplicate
facendo dei test (tipo prova del 9) cioè ho disattivato i moduli "elenco articoli" che ho nella home ed ho notato che le queries duplicate erano sparite
quindi penso siano legate a questo moduloposto qui uno dei duplicati che mi ritrovo nel risultato del debug
SELECT `m`.`tag_id`,`t`.* FROM `#_contentitem_tag_map` AS m INNER JOIN `#_tags` AS t ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = 'com_content.article' AND `m`.`content_item_id` = 106 AND `t`.`published` = 1 AND t.access IN (1,1,5)
un'altra
SELECT c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time, c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level, c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id, c.path, c.published, c.rgt, c.title, c.modified_user_id, c.version, CASE WHEN CHAR_LENGTH(c.alias) != 0 THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug FROM #_categories as c LEFT JOIN AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt) LEFT JOIN (SELECT cat.id as id FROM AS cat JOIN 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 (c.extension='com_content' OR c.extension='system') AND c.access IN (1,1,5) AND c.published = 1 AND s.id=37 AND badcats.id is null GROUP BY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time, c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level, c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id, c.path, c.published, c.rgt, c.title, c.modified_user_id, c.version ORDER BY c.lft
spero di essere stato più chiaro
-
Verifica un tipo di modulo alla volta riducendo l'assegnazione del modulo e i valori a un caso elementare (es. modulo pubblicato in unica posizione che mostra un unico articolo). Bisogna capire se il modulo:
- è assegnato più volte
- è "scritto male" cioè ripete per qualche motivo la stessa query
- presenta la stessa query di un altro modulo
-
@FDA said:
Verifica un tipo di modulo alla volta riducendo l'assegnazione del modulo e i valori a un caso elementare (es. modulo pubblicato in unica posizione che mostra un unico articolo). Bisogna capire se il modulo:
- è assegnato più volte
- è "scritto male" cioè ripete per qualche motivo la stessa query
- presenta la stessa query di un altro modulo
ho fatto il test
ne risulta che anche con il modulo avente un solo articolo mi restitusice una query duplicata
ho provato a cambaire il layout pochè c'è un 'override del template per questo modulo e non risultano più query duplicatequindi mi sembra di aver caapito che c'è qualcosa nell'override del layout che non va
-
Penso che l'hai beccato!
-
ho trovvato dove viene raddoppiata la query
$categories = JCategories::getInstance('Content', array('countItems' => 0)); $category = $categories->get($item->catid);
come potrei richiamare queste informazioni in modo alternativo