Comment optimiser ce code
Bonjour,
Notre hébergeur m'informe que cette requette
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$sql = "SELECT DISTINCT COUNT(co.tb_modeles_id_modele) as nbre0, mo.id_modele,mo.fd_modele,mo.tb_marques_id_marque,co.tb_modeles_id_modele,ma.id_marque,ma.fd_marque
FROM tb_modeles AS mo
LEFT JOIN tb_combinaisons AS co ON mo.id_modele=co.tb_modeles_id_modele
LEFT JOIN tb_marques AS ma ON mo.tb_marques_id_marque=ma.id_marque
WHERE ma.fd_marque LIKE '".$mmarque."'
GROUP BY mo.fd_modele
ORDER BY mo.fd_modele";
$query = mysql_query($sql)or die(mysql_error());
$nb = mysql_num_rows($query); |
prend beacoup de ressource.
je suis allé dans slowlog.log et je peux voir qu'elle est solcicité 12 fois et qu'à chaque fois le query time est de 124
Citation:
Time: 150125 9:53:30
# User@Host: nau[nau] @ localhost []
# Query_time: 124 Lock_time: 0 Rows_sent: 6414 Rows_examined: 237466986
use battxxxxxx;
SELECT DISTINCT COUNT(co.tb_modeles_id_modele) as nbre0, mo.id_modele,mo.fd_modele,mo.tb_marques_id_marque,co.tb_modeles_id_modele,ma.id_marque,ma.fd_marque
FROM tb_modeles AS mo
LEFT JOIN tb_combinaisons AS co ON mo.id_modele=co.tb_modeles_id_modele
LEFT JOIN tb_marques AS ma ON mo.tb_marques_id_marque=ma.id_marque
GROUP BY mo.fd_modele
ORDER BY mo.fd_modele;
# Time: 150125 9:55:27
Il faut savoir que my table tb_combinaisons contient 32000 enregistrements
Es-ce que ce je peux encore optimiser cette requette?